OpenThreadToken 函数 (processthreadsapi.h)

OpenThreadToken 函数打开与线程关联的访问令牌

语法

BOOL OpenThreadToken(
  [in]  HANDLE  ThreadHandle,
  [in]  DWORD   DesiredAccess,
  [in]  BOOL    OpenAsSelf,
  [out] PHANDLE TokenHandle
);

parameters

[in] ThreadHandle

打开其访问令牌的线程的句柄。

[in] DesiredAccess

指定一个 访问掩码,该掩码 指定访问令牌的请求访问类型。 这些请求的访问类型根据令牌的 任意访问控制列表 (DACL) 进行协调,以确定授予或拒绝了哪些访问。

有关访问令牌访问权限的列表,请参阅 Access-Token 对象的访问权限

[in] OpenAsSelf

如果针对进程级安全上下文进行访问检查,则为 TRUE。

如果对调用 OpenThreadToken 函数的线程的当前安全上下文进行访问检查,则为 FALSE

OpenAsSelf 参数允许此函数的调用方在调用方模拟 SecurityIdentification 级别的令牌时打开指定线程的访问令牌。 如果没有此参数,调用线程将无法打开指定线程上的访问令牌,因为无法使用 SecurityIdentification 模拟级别打开执行级别的对象。

[out] TokenHandle

指向接收新打开的访问令牌句柄的变量的指针。

返回值

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

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。 如果令牌具有匿名模拟级别,则不会打开该令牌, 并且 OpenThreadToken 将ERROR_CANT_OPEN_ANONYMOUS设置为错误。

注解

无法打开具有匿名模拟级别的令牌。

通过调用 CloseHandle 关闭通过 TokenHandle 参数返回的访问 令牌句柄

要求

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

请参阅

访问控制概述

AccessCheck

AdjustTokenGroups

AdjustTokenPrivileges

基本访问控制函数

CloseHandle

GetCurrentThreadToken

GetTokenInformation

OpenProcessToken

SECURITY_IMPERSONATION_LEVEL

SetThreadToken

SetTokenInformation