| title | IHttpModuleRegistrationInfo::SetPriorityForRequestNotification Method |
|---|---|
| description | Learn how the SetPriorityForRequestNotification method sets the request-level priority for a module. |
| ms.date | 10/07/2016 |
| ms.assetid | 0281ffdc-fe06-8680-a6df-c260fd455acb |
Sets the request-level priority for a module.
virtual HRESULT SetPriorityForRequestNotification(
IN DWORD dwRequestNotification,
IN PCWSTR pszPriority
) = 0; dwRequestNotification
[IN] A bitmask value that contains the request notifications to set for the priority level. (Defined in Httpserv.h.)
pszPriority
[IN] A pointer to a string that contains the priority alias. (Defined in Httpserv.h.)
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. |
The SetPriorityForRequestNotification method sets the priority level for a list of request-level notifications for which an HTTP module has registered. IIS uses the priority level to determine the order within a notification that modules should be organized. The priority levels are inverted for CHttpModule::OnSendResponse notifications. For example, an HTTP module that has registered for the CHttpModule::OnBeginRequest notification by using the PRIORITY_ALIAS_HIGH alias would be prioritized before a module that has registered for the OnBeginRequest notification by using the PRIORITY_ALIAS_LOW alias. An HTTP module that has registered for the OnSendResponse notification by using the PRIORITY_ALIAS_HIGH alias would be run after a module that has registered for the OnSendResponse notification by using the PRIORITY_ALIAS_LOW alias.
Note
The bitmask values for request-level notifications and priority aliases are defined in the Httpserv.h file.
Note
The priority levels are inverted for RQ_SEND_RESPONSE notifications.
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.
-
The SetRequestNotifications method registers a CHttpModule class for a request-level OnBeginRequest notification.
-
The
SetPriorityForRequestNotificationmethod sets the module's priority for request-level notifications. -
The SetGlobalNotifications method registers a CGlobalModule class for a global-level OnGlobalPreBeginRequest notification.
-
The SetPriorityForGlobalNotification method sets the module's priority for global-level notification.
The module responds to the registered notifications and writes entries to the application log in the Event Viewer.
Note
The entries in the Event Viewer will display "IISADMIN" as the event source.
[!code-cppIHttpModuleRegistrationInfoSetPriorityForRequestNotification#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.
| 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 |
IHttpModuleRegistrationInfo Interface
IHttpModuleRegistrationInfo::SetGlobalNotifications Method
IHttpModuleRegistrationInfo::SetPriorityForGlobalNotification Method
IHttpModuleRegistrationInfo::SetRequestNotifications Method
PFN_REGISTERMODULE Function