Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Windows ondersteunt een reeks functies die een toegangsbeheerlijst (ACL) maken of de toegangsbeheervermeldingen (ACL's) in een bestaande ACL wijzigen.
Met de functie SetEntriesInAcl wordt een nieuwe ACL gemaakt. SetEntriesInAcl- kan een volledig nieuwe set ACL's voor de ACL opgeven of een of meer nieuwe ACL's samenvoegen met de ACL's van een bestaande ACL. De functie SetEntriesInAcl maakt gebruik van een matrix van EXPLICIT_ACCESS structuren om de informatie voor de nieuwe ACL's op te geven. Elke EXPLICIT_ACCESS structuur bevat informatie die één ACE beschrijft. Deze informatie omvat de toegangsrechten, het type ACE, de vlaggen die de ACE-overname beheren en een TRUSTEE structuur die de beheerder identificeert.
Een nieuwe ACE toevoegen aan een bestaande ACL-
- Gebruik de functie GetSecurityInfo of GetNamedSecurityInfo om de bestaande DACL of SACL op te halen uit de beveiligingsdescriptorvan een object.
- Roep voor elke nieuwe ACE de functie BuildExplicitAccessWithName aan om een EXPLICIT_ACCESS structuur te vullen met de informatie die de ACE beschrijft.
- Roep SetEntriesInAcl-aan, waarbij de bestaande ACL en een matrix van EXPLICIT_ACCESS structuren voor de nieuwe ACL's worden opgegeven. De functie SetEntriesInAcl wijst de ACL en de bijbehorende ACE's toe en initialiseert deze.
- Roep de functie SetSecurityInfo of SetNamedSecurityInfo aan om de nieuwe ACL aan de beveiligingsdescriptor van het object te koppelen.
Als de aanroeper een bestaande ACL opgeeft, voegt SetEntriesInAcl de nieuwe ACE-gegevens samen met de bestaande ACL's in de ACL. Denk bijvoorbeeld aan het geval waarin de bestaande ACL toegang verleent tot een opgegeven beheerder en een EXPLICIT_ACCESS structuur toegang weigert tot dezelfde beheerder. In dit geval voegt SetEntriesInAcl een nieuwe toegang geweigerde ACE toe voor de beheerder en verwijdert of wijzigt de bestaande toegangstoegestaan ACE voor de beheerder.
Zie De ACL's van een object wijzigen in C++voor voorbeeldcode waarmee een nieuwe ACE wordt samengevoegd in een bestaande ACL.