HSE_REQ_EXEC_URL
In IIS 6.0, this support function replaces HSE_REQ_EXECUTE_CHILD.
The HSE_REQ_EXEC_URL support function asynchronously processes a child request. HSE_REQ_EXEC_URL enables an ISAPI extension to rewrite a URL request in order to call another extension or redirect to a file.
The support function provides the functionality to replace most Read Raw Data filters. Read Raw Data filters are difficult to write in many configurations. HSE_REQ_EXEC_URL makes it easy to examine or modify the contents of a request entity body before the target URL processes it.
This ServerSupportFunction allows ISAPI extensions to call HSE_REQ_EXEC_URL with a URL whose characters are not in the code page of the IIS server.
This function passes a pointer to the HSE_EXEC_URL_INFO structure.
BOOL ServerSupportFunction(
HCONN ConnID,
DWORD dwServerSupportFunction,
LPVOID lpvBuffer,
LPDWORD lpdwSize,
LPDWORD lpdwDataType
);
Parameters
ConnID
Specifies the connection identifier of the client to which the response data is sent.dwServerSupportFunction
The name of the Server Support function, which in this case must be set to HSE_REQ_EXEC_URL.lpvBuffer
Pointer to an HSE_EXEC_URL_INFO structure.lpdwSize
This parameter is not used.lpdwDataType
This parameter is not used.
Example Code
HSE_EXEC_URL_INFO *phseExecuteURLInfo = new HSE_EXEC_URL_INFO;
ZeroMemory(phseExecuteURLInfo, sizeof(HSE_EXEC_URL_INFO));
/* Populate your HSE_EXEC_URL_INFO structure */
bResult = pECB->ServerSupportFunction (
pECB->ConnID,
HSE_REQ_EXEC_URL,
phseExecuteURLInfo,
NULL,
NULL
);
Remarks
There are a few caveats of HSE_REQ_EXEC_URL, including the fact that you cannot rewrite the request to change the authentication type. You can only change the authentication token for non-anonymous URLs. Additionally, you cannot rewrite the URL to cross an Application Pool boundary.
There are two situations in which HSE_REQ_EXEC_URL cannot replace ReadRawData filters:
A ReadRawData filter that implements an encrypted or compressed stream (non-HTTP) between client and server, such as SSL or custom compression.
A ReadRawData filter that accepts data from a non-HTTP client.
Requirements
Server: Requires or Windows Server 2003.
Product: IIS
Header: Declared in httpext.h.