AddAccessDeniedAce-Funktion (securitybaseapi.h)
Die AddAccessDeniedAce-Funktion fügt einer Zugriffssteuerungsliste (Access Control List, ACL) einen Zugriffssteuerungseintrag (Access Denied Access Control Entry, ACE) hinzu. Der Zugriff auf eine angegebene Sicherheits-ID (SID) wird verweigert.
Um zu steuern, ob der neue ACE von untergeordneten Objekten geerbt werden kann, verwenden Sie die AddAccessDeniedAceEx-Funktion .
Syntax
BOOL AddAccessDeniedAce(
[in, out] PACL pAcl,
[in] DWORD dwAceRevision,
[in] DWORD AccessMask,
[in] PSID pSid
);
Parameter
[in, out] pAcl
Ein Zeiger auf eine ACL . Mit dieser Funktion wird am Ende dieser ACL ein Zugriffsverweigerungs-ACE hinzugefügt. Der ACE hat die Form einer ACCESS_DENIED_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 verweigert werden.
[in] pSid
Ein Zeiger auf die SID-Struktur, die den Benutzer, die Gruppe oder das Anmeldekonto darstellt, dem der Zugriff verweigert 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 nicht mit der der ACL kompatibel. |
|
Der ACE wurde erfolgreich hinzugefügt. |
Hinweise
Die Funktionen AddAccessAllowedAce und AddAccessDeniedAce fügen am Ende der AcEs-Liste für die ACL einen neuen ACE 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 Reihenfolge hinzugefügt werden.
Die ACE_HEADER Struktur, die von der AddAccessDeniedAce-Funktion im ACE platziert wird, gibt einen Typ und eine Größe an, stellt jedoch keine ACE-Flags bereit.
Der von AddAccessDeniedAce hinzugefügte ACE ist nicht vererbbar.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | securitybaseapi.h (Einschließen von Windows.h) |
Bibliothek | Advapi32.lib |
DLL | Advapi32.dll |