HSE_REQ_GET_IMPERSONATION_TOKEN
This support function allows you to retrieve a handle to the impersonation token that the request is using. An impersonation token represents a user context.
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_GET_IMPERSONATION_TOKEN.lpvBuffer
Points to the HANDLE structure IIS will use to report the impersonation token handle.lpdwSizeofBuffer
Unused in this ServerSupportFunction request type.lpdwDataType
Unused in this ServerSupportFunction request type.
Remarks
When your ISAPI extension attempts to access a resource, such as files or registry keys, the thread should be set to impersonate the user by using either the ImpersonateLoggedOnUser or SetThreadToken Win32 API function. The handle returned, through the HANDLE structure specified by the lpvBuffer parameter, is suitable for use with either of these Win32 API calls.
It is important to note that, because the token is owned by IIS and not by your ISAPI extension, your extension should not call CloseHandle on the token. The token will be destroyed by IIS when the current request's EXTENSION_CONTROL_BLOCK is destroyed.
Requirements
Client: Requires Windows XP Professional, Windows 2000 Professional, or Windows NT Workstation 4.0.
Server: Requires Windows Server 2003, Windows 2000 Server, or Windows NT Server 4.0.
Product: IIS
Header: Declared in httpext.h.