HSE_REQ_IS_IN_PROCESS
The HSE_REQ_IS_IN_PROCESS server support function is used to identify what process model an ISAPI extension is running in on IIS 6.0.
BOOL ServerSupportFunction(
HCONN ConnID,
DWORD dwServerSupportFunction,
LPDWORD lpvBuffer,
LPDWORD lpdwSize,
LPDWORD lpdwDataType
);
Parameters
ConnID
Specifies the connection identifier of the client to which the response data should be sent.dwServerSupportFunction
The name of the Server Support function, which in this case must be set to HSE_REQ_IS_IN_PROCESS.lpvBuffer
A pointer to a DWORD which will hold the flag that indicates the process type of the ISAPI extension. After the function call, the DWORD contains one of the following flags:Value
Meaning
HSE_APP_FLAG_IN_PROCESS
This extension is running in process.
Note that an ISAPI running in Worker Process Isolation mode will always return this flag, as will ISAPIs running in low isolation in IIS 5 Isolation Mode.
HSE_APP_FLAG_ISOLATED_OOP
This extension is running in high isolation, out of process.
Note that only ISAPIs running in IIS 5 Isolation Mode can be run in high isolation OOP.
HSE_APP_FLAG_POOLED_OOP
This extension is running in medium isolation, in a pooled process.
Note that only ISAPIs running in IIS 5 Isolation Mode can be run in medium isolation OOP.
lpdwSize
This parameter is not used.lpdwDataType
This parameter is not used.
Return Values
The function returns TRUE upon successfully retrieving the header, or FALSE if there was an error.
Example Code
The following example code shows you how to use the C++ programming language to implement the HSE_REQ_IS_IN_PROCESS server support function. In this example, pECB should be declared as a formal argument in the HttpExtensionProc implementation
DWORD dwFlag;
BOOL fResult;
fResult = pECB->ServerSupportFunction( pECB->ConnID,
HSE_REQ_IS_IN_PROCESS,
&dwFlag,
NULL,
NULL );
if ( !fResult )
{
//
// Call failed. Use GetLastError to get error code.
//
}
switch ( dwFlag )
{
case HSE_APP_FLAG_IN_PROCESS:
//
// This extension is running in process
//
break;
case HSE_APP_FLAG_ISOLATED_OOP:
//
//
// This extension is running in high isolation OOP
//
break;
case HSE_APP_FLAG_POOLED_OOP:
//
// This extension is running in medium isolation OOP
//
break;
}
Requirements
Server: Requires or Windows Server 2003.
Product: IIS
Header: Declared in httpext.h.