Funciones ACL y ACE de bajo nivel
Para crear una lista de control de acceso (ACL) mediante las funciones de bajo nivel, asigne un búfer para la ACL y, a continuación, inicialícelo llamando a la funciónInitializeAcl de. Para agregar entradas de control de acceso (ACE) al final de una lista de control de acceso discrecional de (DACL), use las funciones de AddAccessAllowedAce y AddAccessDeniedAce. La funciónAddAuditAccessAce agrega una ACE al final de una lista de control de acceso del sistema de (SACL). Puede usar la funcióndeAddAce para agregar uno o varios ACE en una posición especificada en una ACL. La función AddAce también le permite agregar una ACE heredable a una ACL. La función DeleteAce quita una ACE de una posición especificada en una ACL. La función GetAce recupera una ACE de una posición especificada en una ACL. La función FindFirstFreeAce recupera un puntero al primer byte libre de una ACL.
Para modificar una ACL existente en el descriptor de seguridad de un objeto, use la función GetSecurityDescriptorDacl o GetSecurityDescriptorSacl para obtener la ACL existente. Puede usar la funciónGetAce para copiar ACL desde la ACL existente. Después de asignar e inicializar una nueva ACL, use funciones como AddAccessAllowedAce y AddAce para agregar ACI. Cuando haya terminado de compilar la nueva ACL, use la función SetSecurityDescriptorDacl o SetSecurityDescriptorSacl para agregar la nueva ACL al descriptor de seguridad del objeto.
Puede usar las funciones AddAccessAllowedObjectAce, AddAccessDeniedObjectAceo AddAuditAccessObjectAce para agregar ACL específicas del objeto al final de una ACL.