ImpersonateLoggedOnUser功能允许调用线程模仿一个用户。用户由令牌句柄表示。
BOOL ImpersonateLoggedOnUser(
HANDLE【hToken】 | //处理表示已登录用户的令牌 |
); |
参数
【hToken】
处理代表登录用户的主要或模拟访问令牌。这可以是通过调用LogonUser,DuplicateToken,DuplicateTokenEx,OpenProcessToken或OpenThreadToken函数返回的令牌句柄。如果hToken是主令牌,则必须具有TOKEN_QUERY和TOKEN_DUPLICATE访问权限。如果hToken是模拟令牌,则必须具有TOKEN_QUERY权限。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
模拟持续到线程退出或直到它调用RevertToSelf.
调用线程不需要具有调用ImpersonateLoggedOnUser的特定权限。
也可以看看
CreateProcessAsUser, DuplicateToken, DuplicateTokenEx, LogonUser, OpenProcessToken, or OpenThreadToken, RevertToSelf