0

我有一個CSid對象,它擁有一個衆所周知的SYSTEM的sid。 調用域()函數我可以看到域是「NT AUTHORITY」。S-1-5(NT AUTHORITY組)的ConvertStringSidToSid

在MSDN中,我發現這個組的SID是「S-1-5」,所以我試圖使用ConvertStringSidToSid()來獲得該組的PSID,但是我得到了SID結構錯誤的錯誤。

有沒有辦法讓CSID獲得該組?可能嗎?

非常感謝! :-)

回答

1

爲此,您需要使用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; 
}