获取用户SID

Posted Akatsuki

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取用户SID相关的知识,希望对你有一定的参考价值。

 1 BOOL GetUserSID(CString &Sid)
 2 {
 3     HANDLE hProcess = GetCurrentProcess();
 4 
 5     if (hProcess)
 6     {
 7         HANDLE hToken;
 8 
 9         if (OpenProcessToken(hProcess, TOKEN_QUERY, &hToken) && hToken)
10         {
11             BYTE tagTokenInfoBuf[256];
12             PTOKEN_USER tagTokenInfo = (PTOKEN_USER)&tagTokenInfoBuf;
13 
14             if (GetTokenInformation(hToken, TokenUser, tagTokenInfoBuf, sizeof(tagTokenInfoBuf), NULL))
15             {
16                 LPTSTR MySid = NULL;
17 
18                 ConvertSidToStringSid(tagTokenInfo->User.Sid, &MySid);
19                 Sid = MySid;
20 
21                 LocalFree(MySid);
22 
23                 return TRUE;
24             }
25 
26             CloseHandle(hToken);
27         }
28 
29         CloseHandle(hProcess);
30     }
31 
32     return FALSE;
33 }

 

以上是关于获取用户SID的主要内容,如果未能解决你的问题,请参考以下文章