如何将PSID类型转换为包含SID字节值的字节数组?
就像是:

PSID pSid;
byte sidBytes[68];//Max. length of SID in bytes is 68
 if(GetAccountSid(
        NULL,       // default lookup logic
        AccountName,// account to obtain SID
        &pSid       // buffer to allocate to contain resultant SID
        )


{

ConvertPSIDToByteArray(pSid, sidBytes);


}

-我应该如何编写函数ConvertPSIDToByteArray?

最佳答案

我认为您可能正在寻找的功能是ConvertSidToStringSid。通常的想法是将PSID结构转换为实际上是LPTSTR类型的wchar_t。然后,您可以使用标准函数将其转换为使用wcstombs的多字节char数组,然后将以字节为单位提供SID。另外,您可以直接在wchar_t类型上进行操作,而只需将其写出-有处理该功能的函数。无论哪种情况,结果都将被UTF-16 LE编码,如果您需要更改结果,则必须进行转换。

关于c++ - 如何检索SID的字节数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2442518/

10-11 17:21