【发布时间】:2014-02-14 20:02:54
【问题描述】:
我一直试图让这个电话合作,但没有成功。
我正在尝试获取当前用户的 SID 值以获取用户的帐户权限(使用 LsaEnumerateAccountRights)。虽然我不知道为什么我对 GetTokenInformation 的调用返回错误。检索进程令牌没有错误。
这是我迄今为止在这个主题上的工作:
HANDLE h_Process;
HANDLE h_Token;
HANDLE h_retToken;
TOKEN_USER tp;
DWORD cb = sizeof(TOKEN_USER);
PDWORD ret;
DWORD dw_TokenLength;
h_Process = GetCurrentProcess();
if (OpenProcessToken(h_Process, TOKEN_READ, &h_Token) == FALSE)
{
printf("Error: Couldn't open the process token\n");
return -1;
}
if (GetTokenInformation(h_Token, TokenUser, &tp, cb, &dw_TokenLength) == FALSE)
{
printf("Error: Could not retrieve Token User information");
return -1;
}
除此之外,我还不如问一个我还没有遇到过的后续问题,如何从形成的 TOKEN_USER 结构中检索 SID?
对于这么简单的问题,我提前道歉,我很困惑,希望继续得到一些帮助。与此相关的所有问题都要复杂得多,并且对我当前的问题几乎没有什么了解。
提前致谢, 乔恩
【问题讨论】: