|
BOOL IsUserAdmin()
{
BOOL isAdmin = FALSE;
PSID psid = NULL;
SID_IDENTIFIER_AUTHORITY NtAuthority = SECURITY_NT_AUTHORITY;
BOOL bSuccess = AllocateAndInitializeSid(&NtAuthority, // A handle to an access token
2, // Specifies the number of subauthorities to place in the SID
SECURITY_BUILTIN_DOMAIN_RID,
DOMAIN_ALIAS_RID_ADMINS,
0, 0, 0, 0, 0, 0,
&psid);
if (TRUE == bSuccess)
{
bSuccess = CheckTokenMembership(NULL, psid, &isAdmin);
isAdmin = (TRUE == bSuccess) ? isAdmin : FALSE;
FreeSid(psid);
}
return isAdmin;
} |
|