您可以使用以下低级功能来处理ACL和ACE。新的基于Win32的应用程序应使用高级访问控制功能。有关高级功能的详细信息,请参阅使用ACL和ACE.
要使用这些低级功能创建ACL,请为ACL分配缓冲区,然后通过调用InitializeAcl函数进行初始化。要将ACE添加到DACL的末尾,请使用AddAccessAllowedAce和AddAccessDeniedAce功能。AddAuditAccessAce函数将ACE添加到SACL的末尾。您可以使用AddAce功能在ACL中的指定位置添加一个或多个ACE。DeleteAce功能从ACL中的指定位置删除ACE。GetAce功能从ACL中的指定位置检索ACE。FindFirstFreeAce函数检索指向ACL中第一个空闲字节的指针。
要修改对象安全描述符中的现有ACL,请使用GetSecurityDescriptorDacl或GetSecurityDescriptorSacl功能获取现有的ACL。您可以使用GetAce功能从现有的ACL复制ACE。分配和初始化新的ACL后,使用AddAccessAllowedAce和AddAce等功能向其添加ACE。完成构建新的ACL后,使用SetSecurityDescriptorDacl或SetSecurityDescriptorSacl功能将新的ACL添加到对象的安全描述符中。