Inheritance: System.Runtime.ConstrainedExecution.CriticalFinalizerObject
 public Overlapped(int offsetLo, int offsetHi, IntPtr hEvent, IAsyncResult ar)
 {
     m_overlappedData = OverlappedDataCache.GetOverlappedData(this);
     m_overlappedData.m_nativeOverlapped.OffsetLow  = offsetLo;
     m_overlappedData.m_nativeOverlapped.OffsetHigh = offsetHi;
     m_overlappedData.UserHandle    = hEvent;
     m_overlappedData.m_asyncResult = ar;
 }
Beispiel #2
0
        public static unsafe void Free(NativeOverlapped *nativeOverlappedPtr)
        {
            if (nativeOverlappedPtr == null)
            {
                throw new ArgumentNullException("nativeOverlappedPtr");
            }
            Overlapped overlapped = OverlappedData.GetOverlappedFromNative(nativeOverlappedPtr).m_overlapped;

            OverlappedData.FreeNativeOverlapped(nativeOverlappedPtr);
            OverlappedData overlappedData = overlapped.m_overlappedData;

            overlapped.m_overlappedData = null;
            OverlappedDataCache.CacheOverlappedData(overlappedData);
        }
        [System.Security.SecuritySafeCritical]  // auto-generated
#endif
        public Overlapped()
        {
            m_overlappedData = OverlappedDataCache.GetOverlappedData(this);
        }