我有一个CSid对象,它为SYSTEM提供了一个众所周知的sid。 调用Domain()函数我可以看到域是“NT AUTHORITY”。
在MSDN中,我发现该组的SID是“S-1-5”,所以我尝试使用ConvertStringSidToSid()来获取该组的PSID,但是我收到了SID结构不正确的错误。 / p>
有没有办法获得该组的CSid?有可能吗?
非常感谢! : - )
答案 0 :(得分:2)
您需要使用AllocateAndInitializeSid
()函数。请参阅MSDN中的this example。
PSID psid;
SID_IDENTIFIER_AUTHORITY SIDAuth = SECURITY_NT_AUTHORITY;
if(! AllocateAndInitializeSid( &SIDAuth, 2,
SECURITY_BUILTIN_DOMAIN_RID,
DOMAIN_ALIAS_RID_ADMINS,
0, 0, 0, 0, 0, 0,
&psid) )
{
printf( "AllocateAndInitializeSid Error %u\n", GetLastError() );
return FALSE;
}