AddAccessAllowedAce-Funktion (securitybaseapi.h)
Die AddAccessAllowedAce-Funktion fügt einer Zugriffssteuerungsliste (Access Control List, ACL) einen Zugriffssteuerungseintrag (Access Control Entry, ACE) hinzu. Der Zugriff wird einer angegebenen Sicherheits-ID (SID) gewährt.
Verwenden Sie die AddAccessAllowedAceEx-Funktion , um zu steuern, ob das neue ACE von untergeordneten Objekten geerbt werden kann.
Syntax
BOOL AddAccessAllowedAce(
[in, out] PACL pAcl,
[in] DWORD dwAceRevision,
[in] DWORD AccessMask,
[in] PSID pSid
);
Parameter
[in, out] pAcl
Ein Zeiger auf eine ACL. Diese Funktion fügt dem Ende dieser ACL einen zugriffsberechtigten ACE hinzu. Der ACE ist in Form einer ACCESS_ALLOWED_ACE Struktur.
[in] dwAceRevision
Gibt die Revisionsebene der ACL an, die geändert wird.
Dieser Wert kann ACL_REVISION oder ACL_REVISION_DS sein. Verwenden Sie ACL_REVISION_DS, wenn die ACL objektspezifische ACEs enthält.
[in] AccessMask
Gibt die Maske der Zugriffsrechte an, die der angegebenen SID gewährt werden sollen.
[in] pSid
Ein Zeiger auf die SID, die einen Benutzer, eine Gruppe oder ein Anmeldekonto darstellt, dem Zugriff gewährt wird.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf. Im Folgenden sind mögliche Fehlerwerte aufgeführt.
Rückgabecode | Beschreibung |
---|---|
|
Der neue ACE passt nicht in die ACL. Ein größerer ACL-Puffer ist erforderlich. |
|
Die angegebene ACL ist nicht ordnungsgemäß gebildet. |
|
Die angegebene SID ist strukturell ungültig. |
|
Die angegebene Revision ist nicht bekannt oder mit der der ACL nicht kompatibel. |
|
Der ACE wurde erfolgreich hinzugefügt. |
Hinweise
Das Hinzufügen eines zugriffsberechtigten ACE zu einer ACL ist die häufigste Form der ACL-Änderung.
Die Funktionen AddAccessAllowedAce und AddAccessDeniedAce fügen ein neues ACE am Ende der Liste der ACEs für die ACL hinzu. Diese Funktionen platzieren den neuen ACE nicht automatisch in der richtigen kanonischen Reihenfolge. Es liegt in der Verantwortung des Aufrufers sicherzustellen, dass sich die ACL in kanonischer Reihenfolge befindet, indem ACEs in der richtigen Sequenz hinzugefügt werden.
Die ACE_HEADER Struktur, die von der AddAccessAllowedAce-Funktion im ACE platziert wird, gibt einen Typ und eine Größe an, bietet jedoch keine Vererbung und keine ACE-Flags.
Beispiele
Ein Beispiel, das diese Funktion verwendet, finden Sie unter Starten eines interaktiven Clientprozesses.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | securitybaseapi.h (einschließlich Windows.h) |
Bibliothek | Advapi32.lib |
DLL | Advapi32.dll |