32 if (threadPoolBoundHandleOverlapped.
_completed)
36 threadPoolBoundHandleOverlapped._completed =
true;
37 if (threadPoolBoundHandleOverlapped.
_boundHandle ==
null)
41 threadPoolBoundHandleOverlapped.
_userCallback(errorCode, numBytes, nativeOverlapped);
static string InvalidOperation_NativeOverlappedReused
static string Argument_NativeOverlappedAlreadyFree
unsafe NativeOverlapped * UnsafePack(IOCompletionCallback? iocb)
static unsafe Overlapped Unpack(NativeOverlapped *nativeOverlappedPtr)
unsafe NativeOverlapped * Pack(IOCompletionCallback? iocb)
static unsafe readonly IOCompletionCallback s_completionCallback
readonly IOCompletionCallback _userCallback
unsafe ThreadPoolBoundHandleOverlapped(IOCompletionCallback callback, object state, object pinData, PreAllocatedOverlapped preAllocated, bool flowExecutionContext)
readonly PreAllocatedOverlapped _preAllocated
static unsafe void CompletionCallback(uint errorCode, uint numBytes, NativeOverlapped *nativeOverlapped)
ThreadPoolBoundHandle _boundHandle
unsafe NativeOverlapped * _nativeOverlapped
readonly object _userState
unsafe delegate void IOCompletionCallback(uint errorCode, uint numBytes, NativeOverlapped *pOVERLAP)