Represent the Windows API struct OVERLAPPED. The constructor of this
class does 'this.setAutoSynch(false)' because instances of this class
should not be auto synchronized nor written as a whole, because Windows
stores pointers to the actual memory representing this this struct and
modifies it outside the function calls and copying (writing) the Java
class fields to the actual memory will destroy those structures.
To set the fields it recommend to use the 'writeField(String,Object)'. It
is ok to read those fields of OVERLAPPED using Java dot-notatio. that
have been written by Java code, but those field that Windows modifies
should be accessed using 'readField(String)' or by invoking 'read()' on
the object before accessing the fields with the java dot-notation.
For example this is acceptable usage for doing overlapped I/O (except
this code does no error checking!):
OVERLAPPED ovl = new OVERLAPPED();
ovl.writeField("hEvent", CreateEvent(null, true, false, null));
ResetEvent(osReader.hEvent);
ReadFile(hComm, buffer, reqN, recN, ovl);