impersonateAnonymousToken 函数 (securitybaseapi.h)

ImpersonateAnonymousToken 函数使指定线程能够模拟系统的匿名登录令牌。 为了确保令牌与操作系统的匿名访问概念匹配,应在尝试网络访问之前调用此函数,以在远程服务器上生成匿名令牌。

语法

BOOL ImpersonateAnonymousToken(
  [in] HANDLE ThreadHandle
);

参数

[in] ThreadHandle

用于模拟系统的匿名登录令牌的线程句柄。 线程句柄必须具有THREAD_IMPERSONATE访问权限,线程才能模拟系统的匿名登录令牌。

若要授予此类访问权限,必须通过调用具有所需访问权限的 OpenThread 来打开线程THREAD_IMPERSONATE。

返回值

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

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

ACCESS_DENIED错误可能指示令牌适用于受限进程。 如果进程受到限制,请使用 OpenProcessTokenIsTokenRestricted 检查。 如果线程句柄缺少对THREAD_IMPERSONATE的正确访问权限,也会返回ACCESS_DENIED。

注解

匿名令牌不包括“每个人”组 SID,除非通过将 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\EveryoneIncludesAnonymous 注册表值设置为 DWORD=1 来重写系统默认值。

若要取消模拟,请调用 RevertToSelf

要求

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

另请参阅