public static void WinHttpCallback( IntPtr handle, IntPtr context, uint internetStatus, IntPtr statusInformation, uint statusInformationLength) { WinHttpTraceHelper.TraceCallbackStatus("WinHttpCallback", handle, context, internetStatus); if (Environment.HasShutdownStarted) { WinHttpTraceHelper.Trace("WinHttpCallback: Environment.HasShutdownStarted returned True"); return; } if (context == IntPtr.Zero) { return; } WinHttpRequestState state = WinHttpRequestState.FromIntPtr(context); Debug.Assert(state != null, "WinHttpCallback must have a non-null state object"); RequestCallback(handle, state, internetStatus, statusInformation, statusInformationLength); }
public static void WinHttpCallback( IntPtr handle, IntPtr context, uint internetStatus, IntPtr statusInformation, uint statusInformationLength) { bool invokeCallback = false; if (Environment.HasShutdownStarted) { return; } if (context == IntPtr.Zero) { return; } WinHttpRequestState state = WinHttpRequestState.FromIntPtr(context); if (state != null && state.RequestHandle != null && !state.RequestHandle.IsInvalid && state.RequestHandle.DangerousGetHandle() == handle) { invokeCallback = true; } WinHttpTraceHelper.TraceCallbackStatus("WinHttpCallback", handle, invokeCallback, internetStatus); if (invokeCallback) { RequestCallback(handle, state, internetStatus, statusInformation, statusInformationLength); } }