This class encapsulates the
Win32 API
OVERLAPPED structure.
NativeOverlapped is needed to mimic the structure
the API expects, but this class encapsulates the overlapped structure
into a .NET class. You can create NativeOverlapped
structures by calling Pack( ), and create
Overlapped objects with the static
Unpack( ) method. To avoid a memory leak, each
NativeOverlapped that you create must also be
freed by calling the staticFree( ) method.
Unpack( ) does not free the
memory.
public class Overlapped {
// Public Constructors
public Overlapped( );
public Overlapped(int offsetLo, int offsetHi, int hEvent, IAsyncResult ar);
// Public Instance Properties
public IAsyncResult AsyncResult{set; get; }
public int EventHandle{set; get; }
public int OffsetHigh{set; get; }
public int OffsetLow{set; get; }
// Public Static Methods
public static void Free(NativeOverlapped *nativeOverlappedPtr);
public static Overlapped Unpack(NativeOverlapped *nativeOverlappedPtr);
// Public Instance Methods
public NativeOverlapped* Pack(IOCompletionCallback iocb);
public NativeOverlapped* UnsafePack(IOCompletionCallback iocb);
}