title | description | ms.date | ms.assetid |
---|---|---|---|
CGlobalModule::OnGlobalThreadCleanup Method |
Describes the CGlobalModule::OnGlobalThreadCleanup method and details its syntax, parameters, return value, remarks, code example, and requirements. |
10/07/2016 |
2aaac10f-de71-71ff-5547-a098f91e717d |
Represents the method that will handle a GlobalThreadCleanup
event, which occurs when IIS returns a thread to the thread pool.
virtual GLOBAL_NOTIFICATION_STATUS OnGlobalThreadCleanup(
IN IGlobalThreadCleanupProvider* pProvider
);
pProvider
[IN] A pointer to an IGlobalThreadCleanupProvider interface.
A GLOBAL_NOTIFICATION_STATUS value.
When a global module has registered for the GL_THREAD_CLEANUP notification, IIS will call the module's OnGlobalThreadCleanup
method when a thread is returned to the thread pool after an operation has completed.
Note
Global modules can register for the GlobalThreadCleanup
event notification by registering for GL_THREAD_CLEANUP
in the module's RegisterModule function.
The following code example demonstrates how to create an HTTP module that performs the following tasks:
-
The module registers for the
GL_THREAD_CLEANUP
notification. -
The module creates a CGlobalModule class that contains an
OnGlobalThreadCleanup
method. This method performs the following tasks:-
Retrieves an IHttpApplication interface by using the IGlobalThreadCleanupProvider::GetApplication method.
-
Retrieves the application identifier of the current context's application by using the IHttpApplication::GetApplicationId method.
-
Writes the application identifier information as an event to the application log of the Event Viewer.
-
-
The module removes the
CGlobalModule
class from memory and then exits.
[!code-cppIGlobalThreadCleanupProviderGetApplication#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 Global-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 |