O'Reilly logo

C# in a Nutshell by Peter Drayton, Ted Neward, Ben Albahari

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Name

Overlapped

Synopsis

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 method Overlapped();  
   public method Overlapped(int offsetLo, int offsetHi, 
        int hEvent, IAsyncResult ar);  
// Public Instance Properties
   public field IAsyncResult AsyncResult{set; get; } 
   public field int EventHandle{set; get; } 
   public field int OffsetHigh{set; get; } 
   public field int OffsetLow{set; get; } 
// Public Static Methods
   public static method void Free(
        NativeOverlapped *nativeOverlappedPtr);  
   public static method Overlapped Unpack(
        NativeOverlapped *nativeOverlappedPtr);  
// Public Instance Methods
   public method NativeOverlapped* Pack(
        IOCompletionCallback iocb);  
   public method NativeOverlapped* UnsafePack(
        IOCompletionCallback iocb);  
}

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required