AllocateAndInitializeSid 函数 (securitybaseapi.h)
AllocateAndInitializeSid 函数分配和初始化一个安全标识符, (SID) 最多八个子授权。
语法
BOOL AllocateAndInitializeSid(
[in] PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority,
[in] BYTE nSubAuthorityCount,
[in] DWORD nSubAuthority0,
[in] DWORD nSubAuthority1,
[in] DWORD nSubAuthority2,
[in] DWORD nSubAuthority3,
[in] DWORD nSubAuthority4,
[in] DWORD nSubAuthority5,
[in] DWORD nSubAuthority6,
[in] DWORD nSubAuthority7,
[out] PSID *pSid
);
参数
[in] pIdentifierAuthority
指向 SID_IDENTIFIER_AUTHORITY 结构的指针。 此结构提供要在 SID 中设置的顶级标识符颁发机构值。
[in] nSubAuthorityCount
指定要放置在 SID 中的子授权数。 此参数还标识有多少个子授权参数具有有意义的值。 此参数必须包含 1 到 8 的值。
例如,值为 3 表示 dwSubAuthority0、dwSubAuthority1 和 dwSubAuthority2 参数指定的子授权值具有有意义的值,并且忽略余数。
[in] nSubAuthority0
要放置在 SID 中的子授权值。
[in] nSubAuthority1
要放置在 SID 中的子授权值。
[in] nSubAuthority2
要放置在 SID 中的子授权值。
[in] nSubAuthority3
要放置在 SID 中的子授权值。
[in] nSubAuthority4
要放置在 SID 中的子授权值。
[in] nSubAuthority5
要放置在 SID 中的子授权值。
[in] nSubAuthority6
要放置在 SID 中的子授权值。
[in] nSubAuthority7
要放置在 SID 中的子授权值。
[out] pSid
指向变量的指针,该变量接收指向已分配和初始化 的 SID 结构的指针。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
注解
必须使用 FreeSid 函数释放使用 AllocateAndInitializeSid 函数分配的 SID 。
此函数使用 32 位 RID 值创建 SID。 对于需要较长 RID 值的应用程序,请使用 CreateWellKnownSid。
示例
有关使用此函数的示例,请参阅 为新对象创建安全描述符 或 获取对象所有权。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2003 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | securitybaseapi.h (包括 Windows.h) |
Library | Advapi32.lib |
DLL | Advapi32.dll |