Skip to content

Latest commit

 

History

History
55 lines (41 loc) · 3.76 KB

ihttpcontext-cancelio-method.md

File metadata and controls

55 lines (41 loc) · 3.76 KB
title description ms.date ms.assetid
IHttpContext::CancelIo Method
Learn how the CancelIo method cancels any pending send or receive operations.
10/07/2016
19c06998-0eb7-41f9-81b2-7fd0278dac34

IHttpContext::CancelIo Method

Cancels any pending send or receive operations.

Syntax

virtual HRESULT CancelIo(  
   VOID  
) = 0;  

Parameters

This method takes no parameters.

Return Value

An HRESULT. Possible values include, but are not limited to, those in the following table.

Value Description
S_OK Indicates that the operation was successful.
ERROR_INVALID_HANDLE Indicates that IIS was unable to retrieve and lock an asynchronous handle for the operation.

Remarks

The CancelIo method terminates any pending send or receive operations with a Web client. For example, if an HTTP module is reading information from the Web client, calling the CancelIo method will cancel any pending read operations.

This method differs from the IHttpResponse::ResetConnection and IHttpResponse::SetNeedDisconnect methods, which reset the socket connection with a Web client immediately or after the response is complete, respectively.

Example

The following code example demonstrates how to use the CancelIo method to create an HTTP module that cancels any pending send or receive operations.

[!code-cppIHttpContextCancelIo#1]

Your module must export the RegisterModule function. You can export this function by creating a module definition (.def) file for your project, or you can compile the module by using the /EXPORT:RegisterModule switch. For more information, see Walkthrough: Creating a Request-Level HTTP Module By Using Native Code.

You can optionally compile the code by using the __stdcall (/Gz) calling convention instead of explicitly declaring the calling convention for each function.

Requirements

Type Description
Client - IIS 7.0 on [!INCLUDEwinvista]
- IIS 7.5 on Windows 7
- IIS 8.0 on Windows 8
- IIS 10.0 on Windows 10
Server - IIS 7.0 on [!INCLUDEwinsrv2008]
- IIS 7.5 on Windows Server 2008 R2
- IIS 8.0 on Windows Server 2012
- IIS 8.5 on Windows Server 2012 R2
- IIS 10.0 on Windows Server 2016
Product - IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0
- [!INCLUDEiisexp75], [!INCLUDEiisexp80], [!INCLUDEiisexp100]
Header Httpserv.h

See Also

IHttpContext Interface
IHttpResponse::ResetConnection Method
IHttpResponse::SetNeedDisconnect Method