Skip to content

Latest commit

 

History

History
87 lines (62 loc) · 7.25 KB

ihttpmoduleregistrationinfo-setrequestnotifications-method.md

File metadata and controls

87 lines (62 loc) · 7.25 KB
title ms.date description ms.assetid
IHttpModuleRegistrationInfo::SetRequestNotifications Method
10/07/2016
Registers the request-level notification for a module, such as an S_OK value that indicates the operation was successful.
9cd93045-71ee-c3ce-fdce-33f3fb105a05

IHttpModuleRegistrationInfo::SetRequestNotifications Method

Registers the request-level notifications for a module.

Syntax

virtual HRESULT SetRequestNotifications(  
   IN IHttpModuleFactory* pModuleFactory,  
   IN DWORD dwRequestNotifications,  
   IN DWORD dwPostRequestNotifications  
) = 0;  

Parameters

pModuleFactory
[IN] A pointer to an IHttpModuleFactory interface.

dwRequestNotifications
[IN] A bitmask value that contains the request notifications to register. (Defined in Httpserv.h.)

dwPostRequestNotifications
[IN] A bitmask value that contains the post-event notifications to register. (Defined in Httpserv.h.)

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_ALREADY_EXISTS Indicates that the module has already been registered.

Remarks

The SetRequestNotifications method registers the request-level notifications for a CHttpModule class. A module can register for two events for each notification: the event notification, as indicated by the bitmask in the dwRequestNotifications parameter, and the post-event notification, as indicated by the bitmask in the dwPostRequestNotifications parameter.

For example, an HTTP module could register for the RQ_AUTHENTICATE_REQUEST notification and the post-event notification for that same notification. In so doing, the module could provide additional processing functionality for the event notification and clean up any processing details in the post-event notification.

Note

Some events do not have post-event notification. Use 0 for the dwPostRequestNotifications parameter when you do not want notification or when post-event notification is not supported.

Note

The bitmask values for request-level notifications are defined in the Httpserv.h file.

The SetRequestNotifications method requires a pointer to an IHttpModuleFactory interface, which IIS will use to create an instance of a CHttpModule class. This factory must handle creating the instance of the CHttpModule class and returning any error messages if the class cannot be created.

Example

The following example demonstrates how to create an HTTP module that uses the RegisterModule function and the following methods to register a module for global-level and request-level notifications.

Note

The entries in the Event Viewer will display "IISADMIN" as the event source.

[!code-cppIHttpModuleRegistrationInfoSetRequestNotifications#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

IHttpModuleRegistrationInfo Interface
IHttpModuleRegistrationInfo::SetGlobalNotifications Method
IHttpModuleRegistrationInfo::SetPriorityForGlobalNotification Method
IHttpModuleRegistrationInfo::SetPriorityForRequestNotification Method
PFN_REGISTERMODULE Function