| title | CHttpModule::OnCustomRequestNotification Method |
|---|---|
| description | OnCustomRequestNotification method will handle a custom event, which occurs when a module raises a user-defined notification. |
| ms.date | 10/07/2016 |
| ms.assetid | 6df88fb0-5384-5777-8b7f-6cdf04c07b7e |
Represents the method that will handle a custom event, which occurs when a module raises a user-defined notification.
virtual REQUEST_NOTIFICATION_STATUS OnCustomRequestNotification(
IN IHttpContext* pHttpContext,
IN ICustomNotificationProvider* pProvider
); pHttpContext
[IN] A pointer to an IHttpContext interface.
pProvider
[IN] A pointer to an ICustomNotificationProvider interface.
A REQUEST_NOTIFICATION_STATUS value.
When a request-level module is registered for the RQ_CUSTOM_NOTIFICATION notification, IIS will call the module's OnCustomRequestNotification method when a custom notification is raised.
Note
Request-level modules can register for a custom event notification by registering for RQ_CUSTOM_NOTIFICATION in the module's RegisterModule function.
The following code example demonstrates how to create an HTTP module that does the following:
-
Registers for the RQ_BEGIN_REQUEST and
RQ_CUSTOM_NOTIFICATIONnotifications. -
Creates a CHttpModule class that contains OnBeginRequest and
OnCustomRequestNotificationmethods.-
OnBeginRequestwrites an event to the Event Viewer that specifies the current notification. The method then creates an instance of anICustomNotificationProviderinterface and raises the custom notification by using the IHttpContext::NotifyCustomNotification method. -
OnCustomRequestNotificationuses the ICustomNotificationProvider::QueryNotificationType method to retrieve the unique identifier for the custom notification. If the unique identifier matches,OnCustomRequestNotificationwrites an event to the Event Viewer that specifies the custom notification.
-
-
Removes the
CHttpModuleclass from memory and then exits.
[!code-cppIHttpContextNotifyCustomNotification#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 |