声明SID Windows c ++

mpg*_*pgn 0 c++ windows winapi sid

我试图将SID标识符传递给函数

myFunction(SID userSid) {}
Run Code Online (Sandbox Code Playgroud)

我的种子是“ S-1-5-11”,但我不知道如何将SID传递给函数

PSID sid = "S-1-5-11";
myFunction(sid);
Run Code Online (Sandbox Code Playgroud)

没有PSID到_SID的构造函数

Cod*_*ray 5

SID是一种独特的类型。它是一个不透明的数据结构(实现为C结构),而不仅仅是字符串的另一个名称。

您不能将字符串传递给需要SID形式参数的函数。您需要创建一个SID对象并将其传递。

有多种API函数可让您创建和操作SID;它们在这里列出。

如果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);
Run Code Online (Sandbox Code Playgroud)