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
ERROR_ALLOTTED_SPACE_EXCEEDED
Der neue ACE passt nicht in die ACL. Ein größerer ACL-Puffer ist erforderlich.
ERROR_INVALID_ACL
Die angegebene ACL ist nicht ordnungsgemäß gebildet.
ERROR_INVALID_SID
Die angegebene SID ist strukturell ungültig.
ERROR_REVISION_MISMATCH
Die angegebene Revision ist nicht bekannt oder nicht mit der der ACL kompatibel.
ERROR_SUCCESS
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

Weitere Informationen

ACCESS_DENIED_ACE

ACE_HEADER

ACL

AddAccessAllowedAce

AddAccessDeniedAceEx

AddAce

AddAuditAccessAce

DeleteAce

GetAce

Low-Level-Access Control

Low-Level-Access Control Functions