低级别 ACL 和 ACE 函数

若要使用低级别函数 (ACL) 创建 访问控制列表 ,请为 ACL 分配缓冲区,然后通过调用 InitializeAcl 函数对其进行初始化。 若要将 访问控制条目 (ACE) 添加到 DACL) 任意访问控制列表 (的末尾,请使用 AddAccessAllowedAceAddAccessDeniedAce 函数。 AddAuditAccessAce 函数将 ACE 添加到系统访问控制列表的末尾, (SACL) 。 可以使用 AddAce 函数在 ACL 中的指定位置添加一个或多个 ACE。 AddAce 函数还允许将可继承的 ACE 添加到 ACL。 DeleteAce 函数从 ACL 中的指定位置删除 ACE。 GetAce 函数从 ACL 中的指定位置检索 ACE。 FindFirstFreeAce 函数检索指向 ACL 中第一个可用字节的指针。

若要修改对象 安全描述符中的现有 ACL,请使用 GetSecurityDescriptorDaclGetSecurityDescriptorSacl 函数获取现有 ACL。 可以使用 GetAce 函数从现有 ACL 复制 ACE。 分配并初始化新 ACL 后,使用 AddAccessAllowedAceAddAce 等函数向其添加 ACE。 生成完新 ACL 后,使用 SetSecurityDescriptorDaclSetSecurityDescriptorSacl 函数将新 ACL 添加到对象的安全描述符。

可以使用 AddAccessAllowedObjectAceAddAccessDeniedObjectAceAddAuditAccessObjectAce 函数将 特定于对象的 ACE 添加到 ACL 的末尾。