FreeNativeOverlapped() 개인적인 메소드

private FreeNativeOverlapped ( NativeOverlapped nativeOverlappedPtr ) : void
nativeOverlappedPtr NativeOverlapped
리턴 void
예제 #1
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);
        }
예제 #2
0
        public static unsafe void Free(NativeOverlapped *nativeOverlappedPtr)
        {
            if (nativeOverlappedPtr == null)
            {
                throw new ArgumentNullException(nameof(nativeOverlappedPtr));
            }

            Overlapped overlapped = OverlappedData.GetOverlappedFromNative(nativeOverlappedPtr).m_overlapped;

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

            overlapped.m_overlappedData = null;
            overlappedData.ReInitialize();
            s_overlappedDataCache.Free(overlappedData);
        }
예제 #3
0
        unsafe public static void Free(NativeOverlapped *nativeOverlappedPtr)
        {
            if (nativeOverlappedPtr == null)
            {
                throw new ArgumentNullException("nativeOverlappedPtr");
            }
            Contract.EndContractBlock();

            Overlapped overlapped = OverlappedData.GetOverlappedFromNative(nativeOverlappedPtr).m_overlapped;

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

            overlapped.m_overlappedData = null;
            overlappedData.ReInitialize();
            s_overlappedDataCache.Free(overlappedData);
        }
예제 #4
0
        public static unsafe void Free(NativeOverlapped *nativeOverlappedPtr)
        {
            if ((IntPtr)nativeOverlappedPtr == IntPtr.Zero)
            {
                throw new ArgumentNullException("nativeOverlappedPtr");
            }
            Overlapped overlapped = OverlappedData.GetOverlappedFromNative(nativeOverlappedPtr).m_overlapped;

            OverlappedData.FreeNativeOverlapped(nativeOverlappedPtr);
            OverlappedData overlappedData = overlapped.m_overlappedData;
            // ISSUE: variable of the null type
            __Null local = null;

            overlapped.m_overlappedData = (OverlappedData)local;
            overlappedData.ReInitialize();
            Overlapped.s_overlappedDataCache.Free((object)overlappedData);
        }
예제 #5
0
        internal static unsafe void FreeNativeOverlapped(NativeOverlapped *nativeOverlappedPtr)
        {
            OverlappedData overlappedData = OverlappedData.GetOverlappedFromNative(nativeOverlappedPtr);

            overlappedData.FreeNativeOverlapped();
        }