System.Threading.ThreadPoolBoundHandle.GetOverlappedData C# (CSharp) Method

GetOverlappedData() private static method

private static GetOverlappedData ( Win32ThreadPoolNativeOverlapped overlapped, ThreadPoolBoundHandle expectedBoundHandle ) : Win32ThreadPoolNativeOverlapped.OverlappedData
overlapped Win32ThreadPoolNativeOverlapped
expectedBoundHandle ThreadPoolBoundHandle
return Win32ThreadPoolNativeOverlapped.OverlappedData
        private static unsafe Win32ThreadPoolNativeOverlapped.OverlappedData GetOverlappedData(Win32ThreadPoolNativeOverlapped* overlapped, ThreadPoolBoundHandle expectedBoundHandle)
        {
            Win32ThreadPoolNativeOverlapped.OverlappedData data = overlapped->Data;

            if (data._boundHandle == null)
                throw new ArgumentException(SR.Argument_NativeOverlappedAlreadyFree, nameof(overlapped));

            if (expectedBoundHandle != null && data._boundHandle != expectedBoundHandle)
                throw new ArgumentException(SR.Argument_NativeOverlappedWrongBoundHandle, nameof(overlapped));

            return data;
        }