Skip to content

Latest commit

 

History

History
57 lines (43 loc) · 3.54 KB

File metadata and controls

57 lines (43 loc) · 3.54 KB
title IHttpRequest::NegotiateClientCertificate Method
description Describes the IHttpRequest::NegotiateClientCertificate method and details its syntax, parameters, return value, remarks, and requirements.
ms.date 10/07/2016
ms.assetid c140602f-90ef-75b2-ce8e-676a3b8a722f

IHttpRequest::NegotiateClientCertificate Method

Initiates client certificate negotiation with a Web client.

Syntax

HRESULT NegotiateClientCertificate(  
   IN BOOL fAsync,  
   OUT BOOL* pfCompletionPending = NULL  
)   

Parameters

fAsync
[IN] true to specify that negotiation should occur asynchronously; otherwise, false.

pfCompletionPending
[OUT] true to specify that an asynchronous completion is pending; otherwise, false.

Return Value

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

Value Definition
S_OK Indicates that the operation was successful.
E_FAIL Indicates that the operation failed.

Remarks

Developers can use the NegotiateClientCertificate method to manually initiate client certificate negotiation with a Web client, even if IIS is configured to accept or ignore client certificates. NegotiateClientCertificate supports both synchronous and asynchronous operation by specifying the appropriate setting in the fAsync parameter. When your module calls NegotiateClientCertificate asynchronously, the module must return processing to the integrated request-processing pipeline immediately after calling the method if the pfCompletionPending value indicates that an asynchronous completion is pending.

Example

The following example demonstrates how to call NegotiateClientCertificate method.

[!code-cppIHttpRequestGetClientCertificate#1]

For more information on how to create and deploy a native DLL module, 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

IHttpRequest Interface
IHttpRequest::GetClientCertificate Method