OpenProcessToken 函数 (processthreadsapi.h)

OpenProcessToken 函数打开与进程关联的访问令牌

语法

BOOL OpenProcessToken(
  [in]  HANDLE  ProcessHandle,
  [in]  DWORD   DesiredAccess,
  [out] PHANDLE TokenHandle
);

参数

[in] ProcessHandle

打开其访问令牌的进程句柄。 此过程必须具有PROCESS_QUERY_LIMITED_INFORMATION访问权限。 有关详细信息,请参阅 进程安全和访问权限

[in] DesiredAccess

指定一个 访问掩码,该掩码 指定对访问令牌的请求访问类型。 这些请求的访问类型与令牌 (DACL) 的自由访问控制列表 进行比较,以确定授予或拒绝哪些访问权限。

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

[out] TokenHandle

指向在函数返回时标识新打开的访问令牌的句柄的指针。

返回值

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

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

注解

若要从非提升的进程内获取提升进程的句柄,必须从同一帐户启动这两个进程。

如果正在检查的进程是由其他帐户启动的,则检查过程需要启用SE_DEBUG_NAME特权。 有关详细信息,请参阅 Privilege Constants (Authorization)

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

要求

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

另请参阅

访问控制

基本访问控制函数

AccessCheck

AdjustTokenGroups

AdjustTokenPrivileges

CloseHandle

GetCurrentProcessToken

GetCurrentThreadEffectiveToken

GetCurrentThreadToken

GetTokenInformation

OpenThreadToken

SetTokenInformation