Skip to content

Latest commit

 

History

History
52 lines (38 loc) · 3.57 KB

File metadata and controls

52 lines (38 loc) · 3.57 KB
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

IHttpServer::DecrementThreadCount Method

Decrements the thread count for the thread pool.

Syntax

virtual VOID DecrementThreadCount(  
   VOID  
) = 0;  

Parameters

This method takes no parameters.

Return Value

VOID.

Remarks

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

Example

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.

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

IHttpServer Interface
IHttpServer::IncrementThreadCount Method