Funciones ace y ACL 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ón InitializeAcl . Para agregar entradas de control de acceso (ACE) al final de una lista de control de acceso discrecional (DACL), use las funciones AddAccessAllowedAce y AddAccessDeniedAce . La función AddAuditAccessAce agrega una ACE al final de una lista de control de acceso del sistema (SACL). Puede usar la función AddAce para agregar una o varias ACE en una posición especificada en una ACL. La función AddAce también permite agregar una ACE heredera 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ón GetAce para copiar ACL desde la ACL existente. Después de asignar e inicializar una nueva ACL, use funciones como AddAccessAllowedAce y AddAce para agregar ACA . 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, AddAccessDeniedObjectAce o AddAuditAccessObjectAce para agregar ACL específicas del objeto al final de una ACL.