ACL- und ACE-Funktionen auf niedriger Ebene

Um eine Zugriffssteuerungsliste (Access Control List, ACL) mithilfe der Funktionen auf niedriger Ebene zu erstellen, ordnen Sie der Zugriffssteuerungsliste einen Puffer zu, und initialisieren Sie sie dann durch Aufrufen der InitializeAcl-Funktion. Verwenden Sie die Funktionen AddAccessAllowedAce und AddAccessDeniedAce, um Zugriffssteuerungseinträge (ACEs) am Ende einer DACL (Discretionary Access Control List) hinzuzufügen. Die Funktion AddAuditAccessAce fügt einen ACE am Ende einer Systemzugriffssteuerungsliste (SACL) hinzu. Sie können die AddAce-Funktion verwenden, um eine oder mehrere ACEs an einer angegebenen Position in einer ACL hinzuzufügen. Mit der AddAce-Funktion können Sie einer ACL auch einen vererbbaren ACE hinzufügen. Die DeleteAce-Funktion entfernt einen ACE von einer angegebenen Position in einer ACL. Die GetAce-Funktion ruft einen ACE von einer angegebenen Position in einer ACL ab. Die FindFirstFreeAce-Funktion ruft einen Zeiger auf das erste freie Byte in einer ACL ab.

Um eine vorhandene ACL in der Sicherheitsbeschreibungeines Objekts zu ändern, verwenden Sie die Funktion GetSecurityDescriptorDacl oder GetSecurityDescriptorSacl, um die vorhandene ACL abzurufen. Sie können die GetAce-Funktion verwenden, um ACEs aus der vorhandenen ACL zu kopieren. Verwenden Sie nach dem Zuordnen und Initialisieren einer neuen ACL Funktionen wie AddAccessAllowedAce und AddAce, um acEs hinzuzufügen. Wenn Sie die Erstellung der neuen ACL abgeschlossen haben, verwenden Sie die Funktion SetSecurityDescriptorDacl oder SetSecurityDescriptorSacl, um die neue ACL dem Sicherheitsdeskriptor des Objekts hinzuzufügen.

Sie können die Funktionen AddAccessAllowedObjectAce, AddAccessDeniedObjectAceoder AddAuditAccessObjectAce verwenden, um objektspezifische ACEs am Ende einer ACL hinzuzufügen.