Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 声明SID Windows c++;_C++_Windows_Winapi_Sid - Fatal编程技术网

C++ 声明SID Windows c++;

C++ 声明SID Windows c++;,c++,windows,winapi,sid,C++,Windows,Winapi,Sid,我试图向函数传递SID标识符 myFunction(SID userSid) {} 我的种子是“S-1-5-11”,但我不知道如何将SID传递给函数 PSID sid = "S-1-5-11"; myFunction(sid); 没有PSID到_SID的构造函数 是一种独特的类型。它是(作为C结构实现的),而不仅仅是字符串的另一个名称 不能将字符串传递给需要SID形式参数的函数。您需要创建一个SID对象并传递它 有多种API函数允许您创建和操作SID;它们被列出 如果要从包含的字符串创建SI

我试图向函数传递SID标识符

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

PSID sid = "S-1-5-11";
myFunction(sid);
没有PSID到_SID的构造函数

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

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

有多种API函数允许您创建和操作SID;它们被列出

如果要从包含的字符串创建
SID
,可以调用该函数。例如:

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);
是一种独特的类型。它是(作为C结构实现的),而不仅仅是字符串的另一个名称

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

有多种API函数允许您创建和操作SID;它们被列出

如果要从包含的字符串创建
SID
,可以调用该函数。例如:

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);

需要传递指向SID-myFunction(SID*userSid)和PSID SID=“S-1-5-11”的指针这是一个错误-sid不是stringi get
类型不允许的名称_sidsid sid
需要传递指向sid-myFunction(sid*userSid)和PSID sid=“S-1-5-11”;-这是一个错误-sid不是stringi get
类型的名称not allowed(不允许)sid sid
在我调用
myFunction(psid)
i get`no constructor property for psid to sid`@mpgn是的,您的函数原型表明
sid
结构是通过复制传递给函数的。(我不知道为什么;您通常通过指针传递这些对象。)标准C规则适用于处理指针。您将取消对指针的引用并将其传递给函数:
myFunction(*psid)
我尝试了,但也得到了这个错误
表达式必须是指向完整对象类型的指针
@mpgn:您不能按值传递
SID
对象,您需要改为按指针传递它。更改
myFunction()
以获取
PSID
(又称
SID*
)参数:
myFunction(PSID userSid){…}
然后可以传递
PSID
变量:
myFunction(PSID)在我调用
myFunction(psid)
时,在断言之后,我得到了`没有适合psid的构造函数到SID`@mpgn`@Yes,您的函数原型表明
SID
结构是通过副本传递给函数的。(我不知道为什么;您通常通过指针传递这些对象。)标准C规则适用于处理指针。您将取消对指针的引用并将其传递给函数:
myFunction(*psid)
我尝试了,但也得到了这个错误
表达式必须是指向完整对象类型的指针
@mpgn:您不能按值传递
SID
对象,您需要改为按指针传递它。更改
myFunction()
以获取
PSID
(又称
SID*
)参数:
myFunction(PSID userSid){…}
然后可以传递
PSID
变量:
myFunction(PSID)