AllocateAndInitializeSid函数分配和初始化最多八个子权限的安全标识符(SID)。
BOOL AllocateAndInitializeSid(
PSID_IDENTIFIER_AUTHORITY 【pIdentifierAuthority】, | //指向标识符权限的指针 |
BYTE 【nSubAuthorityCount】, | //次级次数的计数 |
DWORD 【dwSubAuthority0】, | // subauthority 1 |
DWORD 【dwSubAuthority1】, | // subauthority 2 |
DWORD 【dwSubAuthority2】, | // subauthority 3 |
DWORD 【dwSubAuthority3】, | // subauthority 4 |
DWORD 【dwSubAuthority4】, | // subauthority 5 |
DWORD 【dwSubAuthority5】, | // subauthority 6 |
DWORD 【dwSubAuthority6】, | // subauthority 7 |
DWORD 【dwSubAuthority7】, | // pointer to pointer to SID |
PSID *【PSID】 | //指向SID的指针 |
); |
参数
【pIdentifierAuthority】
指向SID_IDENTIFIER_AUTHORITY结构的指针,给出在SID中设置的顶级标识符权限值。
【nSubAuthorityCount】
指定要在SID中放置的子权限的数量。此参数还标识了多少次授权参数具有有意义的值。此参数必须包含1到8之间的值。
例如,值3表示【dwSubAuthority0】,【dwSubAuthority1】和【dwSubAuthority2】参数指定的次授权值具有有意义的值,并忽略余数。
【dwSubAuthority0】至【dwSubAuthority7】
指定要在SID中放置的次授权值。
【PSID】
指向接收指向分配和已初始化SID结构的指针的变量的指针。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
必须通过使用FreeSid功能来释放与AllocateAndInitializeSid函数分配的SID。
也可以看看
FreeSid, GetSidIdentifierAuthority, InitializeSid, SID_IDENTIFIER_AUTHORITY