HSE_REQ_MAP_UNICODE_URL_TO_PATH_EX

This support function allows your ISAPI extension to map a logical URL path to a physical path, as well as gather several types of attributes that are associated with that physical path such as access-control or cache-control flags. This support function is much more complicated than HSE_REQ_MAP_UNICODE_URL_TO_PATH and provides information relevant to DAV developers.

BOOL ServerSupportFunction(
      HCONN ConnID,
      DWORD dwServerSupportFunction,
      LPVOID lpvBuffer,
      LPDWORD lpdwSizeofBuffer,
      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_MAP_UNICODE_URL_TO_PATH_EX.

  • lpvBuffer
    Points to a buffer that should contain the logical path to map.

  • lpdwSizeofBuffer
    Points to the size of the buffer specified in lpvBuffer.

  • lpdwDataType
    Points to an HSE_UNICODE_URL_MAPEX_INFO Structure data structure. Upon return, the lpszPath member will contain the physical path mapped by the logical path specified in the lpvBuffer parameter. The path size in the HSE_UNICODE_URL_MAPEX_INFO Structure struct is limited to MAX_PATH length. If the length of your physical path is longer than MAX_PATH, use HSE_REQ_MAP_UNICODE_URL_TO_PATH to avoid errors. The information returned in this structure is only relevant to DAV developers.

Remarks

Examples of virtual-to-physical path mappings include:

  • /scripts is mapped to C:\InetPub\scripts

  • /scripts/oop is mapped to C:\InetPub\scripts\oop

Warning

On IIS 5.1, a call to HSE_REQ_MAP_URL_TO_PATH_EX does not fail if the length of the physical path exceeds MAX_PATH. The call returns successfully, but the returned physical path is truncated to fit the fixed buffer in the HSE_URL_MAPEX_INFO structure. In IIS 6.0, a call to HSE_REQ_MAP_URL_TO_PATH_EX fails if the length of the physical path exceeds MAX_PATH and GetLastError returns ERROR_INSUFFICIENT_BUFFER. The fixed buffer still contains the truncated data.

Requirements

Server: Requires or Windows Server 2003.

Product: IIS

Header: Declared in httpext.h.