ImpersonateLoggedOnUser
The ImpersonateLoggedOnUser
function lets the calling thread impersonate a user. The user is represented by a token handle.
BOOL ImpersonateLoggedOnUser(
|
HANDLE hToken |
// handle to a
token that represents a logged-on user |
|
); |
|
Parameters
hToken
Handle to a
primary or impersonation access token that represents a logged-on user. This
can be a token handle returned by a call to LogonUser, DuplicateToken, DuplicateTokenEx, OpenProcessToken, or OpenThreadToken functions. If hToken
is a primary token, it must have TOKEN_QUERY and TOKEN_DUPLICATE access. If hToken
is an impersonation token, it must have TOKEN_QUERY access.
Return Values
If the function
succeeds, the return value is nonzero.
If the
function fails, the return value is zero. To get extended error information,
call GetLastError.
Remarks
The
impersonation lasts until the thread exits or until it calls RevertToSelf.
The calling
thread does not need to have any particular privileges to call ImpersonateLoggedOnUser.
See Also