我有一个 CSid 对象,它为 SYSTEM 保存一个众所周知的 sid。调用 Domain() 函数我可以看到域是“NT AUTHORITY”。
在 MSDN 中,我发现该组的 SID 是“S-1-5”,因此我尝试使用 ConvertStringSidToSid() 来获取该组的 PSID,但我收到一个错误,即 SID 结构不正确。
有没有办法为该组获取 CSid?是否可以?
非常感谢!:-)
我有一个 CSid 对象,它为 SYSTEM 保存一个众所周知的 sid。调用 Domain() 函数我可以看到域是“NT AUTHORITY”。
在 MSDN 中,我发现该组的 SID 是“S-1-5”,因此我尝试使用 ConvertStringSidToSid() 来获取该组的 PSID,但我收到一个错误,即 SID 结构不正确。
有没有办法为该组获取 CSid?是否可以?
非常感谢!:-)
为此,您需要使用AllocateAndInitializeSid
() 函数。请参阅MSDN 中的此示例。
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;
}