C # in a Nutshell, Second Edition

Overlapped

System.Threading (mscorlib.dll) class

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 static Free( ) 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 ); }

Категории