低级别 ACL 和 ACE 函数
若要使用低级别函数 (ACL) 创建 访问控制列表 ,请为 ACL 分配缓冲区,然后通过调用 InitializeAcl 函数对其进行初始化。 若要将 访问控制条目 (ACE) 添加到 DACL) 任意访问控制列表 (的末尾,请使用 AddAccessAllowedAce 和 AddAccessDeniedAce 函数。 AddAuditAccessAce 函数将 ACE 添加到系统访问控制列表的末尾, (SACL) 。 可以使用 AddAce 函数在 ACL 中的指定位置添加一个或多个 ACE。 AddAce 函数还允许将可继承的 ACE 添加到 ACL。 DeleteAce 函数从 ACL 中的指定位置删除 ACE。 GetAce 函数从 ACL 中的指定位置检索 ACE。 FindFirstFreeAce 函数检索指向 ACL 中第一个可用字节的指针。
若要修改对象 安全描述符中的现有 ACL,请使用 GetSecurityDescriptorDacl 或 GetSecurityDescriptorSacl 函数获取现有 ACL。 可以使用 GetAce 函数从现有 ACL 复制 ACE。 分配并初始化新 ACL 后,使用 AddAccessAllowedAce 和 AddAce 等函数向其添加 ACE。 生成完新 ACL 后,使用 SetSecurityDescriptorDacl 或 SetSecurityDescriptorSacl 函数将新 ACL 添加到对象的安全描述符。
可以使用 AddAccessAllowedObjectAce、 AddAccessDeniedObjectAce 或 AddAuditAccessObjectAce 函数将 特定于对象的 ACE 添加到 ACL 的末尾。