我试图将SID标识符传递给函数
myFunction(SID userSid) {}
我的种子是“ S-1-5-11”,但我不知道如何将SID传递给函数
PSID sid = "S-1-5-11";
myFunction(sid);
没有PSID到_SID的构造函数
最佳答案
SID
是一种独特的类型。它是an opaque data structure(实现为C结构),而不仅仅是字符串的另一个名称。
您不能将字符串传递给需要SID
形式参数的函数。您需要创建一个SID
对象并将其传递。
有多种API函数可让您创建和操作SID;它们在here中列出。
如果要使用包含a valid SID的字符串创建SID
,则可以调用ConvertStringSidToSid
函数。例如:
PSID psid;
BOOL bSucceeded = ConvertStringSidToSid(TEXT("S-1-5-11"), &psid);
assert(bSucceeded != FALSE);
// ... use the SID via the pointer
// once you are finished, free it:
LocalFree(psid);