| title | IHttpServer::DecrementThreadCount Method |
|---|---|
| description | Learn how the IHttpServer::DecrementThreadCount method decrements the thread count for the thread pool. |
| ms.date | 10/07/2016 |
| ms.assetid | 64ce7c5e-5eb4-74db-deba-5ad8f99b0bad |
Decrements the thread count for the thread pool.
virtual VOID DecrementThreadCount(
VOID
) = 0; This method takes no parameters.
VOID.
The DecrementThreadCount method decreases the count of available threads for the thread pool by a single thread.
Note
DecrementThreadCount does not actually decrease the number of threads in use; only the thread count is affected.
When you are developing an HTTP module that performs operations that require a long time to process, your HTTP module could call IHttpServer::IncrementThreadCount to increase the available threads for the thread pool while your module executes your long-running operations. When the module is finished, it would call DecrementThreadCount to restore the thread count
The following code example demonstrates how to create an HTTP module that calls IncrementThreadCount to increase the thread count for the thread pool and then sleeps for 30 seconds. Then the module calls DecrementThreadCount to restore the thread count and exits.
[!code-cppIHttpServerDecrementThreadCount#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 |
IHttpServer Interface
IHttpServer::IncrementThreadCount Method