August 2003
Intermediate to advanced
928 pages
32h 1m
English
Overlapped
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(intoffsetLo, intoffsetHi, inthEvent, IAsyncResultar); // 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(IOCompletionCallbackiocb); public NativeOverlapped* UnsafePack(IOCompletionCallbackiocb); }