impersonateSelf 函数 (securitybaseapi.h)

ImpersonateSelf 函数获取一个访问令牌,该令牌模拟调用进程的安全上下文。 令牌分配给调用线程。

语法

BOOL ImpersonateSelf(
  [in] SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
);

参数

[in] ImpersonationLevel

指定提供新令牌的模拟级别的 SECURITY_IMPERSONATION_LEVEL 枚举类型。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

ImpersonateSelf 函数用于一些任务,例如为单个线程而不是整个进程启用权限,或者更改单个线程的默认自由访问控制列表 (DACL) 。

模拟完成后,服务器可以调用 RevertToSelf 函数。

若要使此函数成功,保护进程令牌的 DACL 必须向自身授予TOKEN_DUPLICATE权限。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 securitybaseapi.h (包括 Windows.h)
Library Advapi32.lib
DLL Advapi32.dll

另请参阅

客户端/服务器访问控制函数

客户端/服务器访问控制概述

DuplicateToken

ImpersonateNamedPipeClient

RevertToSelf

SECURITY_IMPERSONATION_LEVEL