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.

See Also