Bra*_*nko 1 delphi winapi windows-7 delphi-xe3
我必须在"Everyone"用户组的某个文件夹上设置prmissions,所以我需要这个组的SID.当我打电话时,ConvertStringSidToSid()我得到错误"System Error. Code: 87 - Parameter is incorrect".为什么?我的代码出了什么问题?
...
function ConvertStringSidToSid(StringSid: LPCTSTR; Sid: PSID): BOOL; stdcall;
external Advapi32 name 'ConvertStringSidToSidW';
...
var
Sid: PSID;
...
Sid := Nil;
ConvertStringSidToSid(LPCTSTR('S-1-1-0'), Sid);
...
Run Code Online (Sandbox Code Playgroud)
TIA Branko
的Sid参数被输出.out在函数原型中添加关键字.此外,使用LPCTSTRUnicode版本的函数(带W后缀的版本)也不安全.一旦你迁移此代码,以非Unicode德尔福,你会失败,其呼叫,因为LPCTSTR成为PAnsiChar非Unicode Delphi和你会打电话Unicode的功能.而是直接使用PWideChar:
function ConvertStringSidToSid(StringSid: PWideChar; out Sid: PSID): BOOL; stdcall;
external Advapi32 name 'ConvertStringSidToSidW';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1959 次 |
| 最近记录: |