AddAccessAllowedAce 函数 (securitybaseapi.h)
AddAccessAllowedAce 函数将 ACE) (允许访问的访问控制项添加到访问控制列表 (ACL) 。 向指定的 安全标识符 授予访问权限, (SID) 。
若要控制新 ACE 是否可以由子对象继承,请使用 AddAccessAllowedAceEx 函数。
语法
BOOL AddAccessAllowedAce(
[in, out] PACL pAcl,
[in] DWORD dwAceRevision,
[in] DWORD AccessMask,
[in] PSID pSid
);
参数
[in, out] pAcl
指向 ACL 的指针。 此函数将允许访问的 ACE 添加到此 ACL 的末尾。 ACE 采用 ACCESS_ALLOWED_ACE 结构的形式。
[in] dwAceRevision
指定要修改的 ACL 的修订级别。
此值可以是ACL_REVISION或ACL_REVISION_DS。 如果 ACL 包含特定于对象的 ACE,请使用 ACL_REVISION_DS。
[in] AccessMask
指定要授予指定 SID 的访问权限的掩码。
[in] pSid
指向 SID 的指针,表示要授予访问权限的用户、组或登录帐户。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。 下面是可能的错误值。
返回代码 | 说明 |
---|---|
|
新的 ACE 不适合 ACL。 需要更大的 ACL 缓冲区。 |
|
指定的 ACL 格式不正确。 |
|
指定的 SID 在结构上无效。 |
|
指定的修订未知或与 ACL 的修订不兼容。 |
|
已成功添加 ACE。 |
注解
将允许访问的 ACE 添加到 ACL 是最常见的 ACL 修改形式。
AddAccessAllowedAce 和 AddAccessDeniedAce 函数将新的 ACE 添加到 ACL 的 ACE 列表的末尾。 这些函数不会按正确的规范顺序自动放置新 ACE。 调用方负责通过按正确的顺序添加 ACL 来确保 ACL 按规范顺序排列。
AddAccessAllowedAce 函数放置在 ACE 中的ACE_HEADER结构指定类型和大小,但不提供继承和 ACE 标志。
示例
有关使用此函数的示例,请参阅 启动交互式客户端进程。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2003 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | securitybaseapi.h (包括 Windows.h) |
Library | Advapi32.lib |
DLL | Advapi32.dll |