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; }
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); }