使用OpenProcessToken()用于得到指定进程的访问令牌,而第三个参数定义设置不正确可能导致该函数调用失败,以下举例说明:
HANDLE hProc;
hProc = GetCurrentProcess();
// Method1 - Error(998)
HANDLE *hToken;
OpenProcessToken(hProc, TOKEN_ADJUST_PRIVILEGES, hToken);
// Method2 - Success
HANDLE hToken;
OpenProcessToken(hProc, TOKEN_ADJUST_PRIVILEGES, &hToken);
以上是获取访问令牌的调用,OpenProcessToken()函数原型如下: