HSE_REQ_EXEC_UNICODE_URL
The HSE_REQ_EXEC_UNICODE_URL support function asynchronously processes a child request. HSE_REQ_EXEC_UNICODE_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_UNICODE_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 providing for easy Internationalization of ISAPI extensions.
This function passes a pointer to the HSE_EXEC_UNICODE_URL_INFO structure and supports Unicode.
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 should be sent.dwServerSupportFunction
The name of the Server Support function, which in this case must be set to HSE_REQ_EXEC_UNICODE_URL.lpvBuffer
Pointer to an HSE_EXEC_UNICODE_URL_INFO structure.lpdwSize
This parameter is not used.lpdwDataType
This parameter is not used.
Example Code
C++
HSE_EXEC_UNICODE_URL_INFO *phseExecuteURLInfo = new HSE_EXEC_UNICODE_URL_INFO;
ZeroMemory(phseExecuteURLInfo, sizeof(HSE_EXEC_UNICODE_URL_INFO) );
/* Populate your HSE_EXEC_URL_INFO structure */
bResult = pECB->ServerSupportFunction(
pECB->ConnID,
HSE_REQ_EXEC_UNICODE_URL,
&hseExecuteUrlInfo,
NULL,
NULL
);
Remarks
There are two situations in which ExecuteURLUnicode cannot replace Read Raw Data filters:
a Read Raw Data filter implements an encrypted or compressed stream between client and server (SSL is the only known case of this)
a Read Raw Data filter accepts data from a non-HTTP client.
Requirements
Server: Requires or Windows Server 2003.
Product: IIS
Header: Declared in httpext.h.