gpt4 book ai didi

C++ WTSQueryUserToken 函数错误

转载 作者:行者123 更新时间:2023-11-30 04:16:59 24 4
gpt4 key购买 nike

我正在尝试让我的服务以用户身份创建流程,但我必须先获得 token 。现在由于某种原因,我的函数不断返回错误 87,即 ERROR_INVALID_PARAMETER。有人知道为什么吗?它已经困扰我几个小时了,从我所看到的来看,参数是正确的。谢谢。

这是我的代码:

PHANDLE currentToken = 0;
ULONG id = WTSGetActiveConsoleSessionId();
printf("ULONG = %d", id);
// Get token of the logged in user by the active session ID
BOOL bRet = WTSQueryUserToken(id, currentToken);
if (bRet == false)
{
printf("ERROR: %d", GetLastError());
}

最佳答案

我解决了这个问题如下:将 currentToken 定义为 HANDLE 而不是指针 (PHANDLE),并将对它的引用传递给 WTSQueryUserToken 函数

PHANDLE currentToken = 0; 
changes to:
HANDLE currentToken = 0;

还有……

BOOL bRet = WTSQueryUserToken(id, currentToken);
//Change this to:
BOOL bRet = WTSQueryUserToken(id, &currentToken);

在此之后我收到了 1314 - ERROR_PRIVILEGE_NOT_HELD 错误,但那是因为应用程序需要作为用户“localsystem”运行,唯一的方法是将其作为服务运行 - 超出了这个答案的范围,我无论如何解决了 87 错误!

关于C++ WTSQueryUserToken 函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17387939/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com