Funzioni ACL e ACE di basso livello

Per creare un elenco di controlli di accesso usando le funzioni di basso livello, allocare un buffer per l'elenco di controllo di accesso e inizializzarlo chiamando la funzione InitializeAcl . Per aggiungere voci di controllo di accesso (ACES) alla fine di un elenco di controllo di accesso discrezionale (DACL), usare le funzioni AddAccessAllowedAce e AddAccessDeniedAce . La funzione AddAuditAccessAce aggiunge un ACE alla fine di un elenco di controllo di accesso del sistema (SACL). È possibile usare la funzione AddAce per aggiungere uno o più ACL in una posizione specificata. La funzione AddAce consente anche di aggiungere un ACE ereditabile a un elenco di controllo di accesso. La funzione DeleteAce rimuove un ACE da una posizione specificata in un ACL. La funzione GetAce recupera un ACE da una posizione specificata in un ACL. La funzione FindFirstFreeAce recupera un puntatore al primo byte libero in un elenco di controllo di accesso.

Per modificare un ACL esistente nel descrittore di sicurezza di un oggetto, usare la funzione GetSecurityDescriptorDacl o GetSecurityDescriptorSacl per ottenere l'ACL esistente. È possibile usare la funzione GetAce per copiare aces dall'ACL esistente. Dopo aver allocato e inizializzato un nuovo ACL, usare funzioni come AddAccessAllowedAce e AddAce per aggiungerle. Al termine della compilazione del nuovo ACL, usare la funzione SetSecurityDescriptorDacl o SetSecurityDescriptorSacl per aggiungere il nuovo ACL al descrittore di sicurezza dell'oggetto.

È possibile usare le funzioni AddAccessAllowedObjectAce, AddAccessDeniedObjectAce o AddAuditAccessObjectAce per aggiungere aces specifici dell'oggetto alla fine di un ACL.