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 |