Skip to content

Latest commit

 

History

History
62 lines (43 loc) · 4.63 KB

cglobalmodule-onglobalthreadcleanup-method.md

File metadata and controls

62 lines (43 loc) · 4.63 KB
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

CGlobalModule::OnGlobalThreadCleanup Method

Represents the method that will handle a GlobalThreadCleanup event, which occurs when IIS returns a thread to the thread pool.

Syntax

virtual GLOBAL_NOTIFICATION_STATUS OnGlobalThreadCleanup(  
   IN IGlobalThreadCleanupProvider* pProvider  
);  

Parameters

pProvider
[IN] A pointer to an IGlobalThreadCleanupProvider interface.

Return Value

A GLOBAL_NOTIFICATION_STATUS value.

Remarks

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.

Example

The following code example demonstrates how to create an HTTP module that performs the following tasks:

  1. The module registers for the GL_THREAD_CLEANUP notification.

  2. The module creates a CGlobalModule class that contains an OnGlobalThreadCleanup method. This method performs the following tasks:

    1. Retrieves an IHttpApplication interface by using the IGlobalThreadCleanupProvider::GetApplication method.

    2. Retrieves the application identifier of the current context's application by using the IHttpApplication::GetApplicationId method.

    3. Writes the application identifier information as an event to the application log of the Event Viewer.

  3. 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.

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

CGlobalModule Class