CancelLastWrite() private method

private CancelLastWrite ( SafeHandle requestQueueHandle ) : void
requestQueueHandle SafeHandle
return void
Esempio n. 1
0
        // The request is being aborted, but large writes may be in progress. Cancel them.
        internal void ForceCancelRequest(CriticalHandle requestQueueHandle, ulong requestId)
        {
            uint statusCode = UnsafeNclNativeMethods.HttpApi.HttpCancelHttpRequest(requestQueueHandle, requestId,
                                                                                   IntPtr.Zero);

            // Either the connection has already dropped, or the last write is in progress.
            // The requestId becomes invalid as soon as the last Content-Length write starts.
            // The only way to cancel now is with CancelIoEx.
            if (statusCode == UnsafeNclNativeMethods.ErrorCodes.ERROR_CONNECTION_INVALID)
            {
                m_Response.CancelLastWrite(requestQueueHandle);
            }
        }