Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ PerformIOCompletionCallback()

static unsafe void System.Threading._IOCompletionCallback.PerformIOCompletionCallback ( uint errorCode,
uint numBytes,
NativeOverlapped * pNativeOverlapped )
inlinestaticpackage

Definition at line 29 of file _IOCompletionCallback.cs.

30 {
31 do
32 {
33 OverlappedData overlappedFromNative = OverlappedData.GetOverlappedFromNative(pNativeOverlapped);
34 if (overlappedFromNative._callback is IOCompletionCallback iOCompletionCallback)
35 {
36 iOCompletionCallback(errorCode, numBytes, pNativeOverlapped);
37 }
38 else
39 {
40 _IOCompletionCallback iOCompletionCallback2 = (_IOCompletionCallback)overlappedFromNative._callback;
41 iOCompletionCallback2._errorCode = errorCode;
42 iOCompletionCallback2._numBytes = numBytes;
43 iOCompletionCallback2._pNativeOverlapped = pNativeOverlapped;
44 ExecutionContext.RunInternal(iOCompletionCallback2._executionContext, _ccb, iOCompletionCallback2);
45 }
46 OverlappedData.CheckVMForIOPacket(out pNativeOverlapped, out errorCode, out numBytes);
47 }
48 while (pNativeOverlapped != null);
49 }
_IOCompletionCallback(IOCompletionCallback ioCompletionCallback, ExecutionContext executionContext)
unsafe delegate void IOCompletionCallback(uint errorCode, uint numBytes, NativeOverlapped *pOVERLAP)

References System.Threading._IOCompletionCallback._IOCompletionCallback(), System.Threading.OverlappedData._callback, System.Threading._IOCompletionCallback._ccb, System.Threading._IOCompletionCallback._executionContext, System.Threading.OverlappedData.CheckVMForIOPacket(), System.Threading.OverlappedData.GetOverlappedFromNative(), System.Threading.IOCompletionCallback(), and System.Threading.ExecutionContext.RunInternal().