AddAccessDeniedAceEx-Funktion (securitybaseapi.h)
Die AddAccessDeniedAceEx-Funktion fügt einen Zugriffssteuerungseintrag (Access Denied Access Control Entry, ACE) am Ende einer daCL (Discretionary Access Control List ) hinzu.
Syntax
BOOL AddAccessDeniedAceEx(
[in, out] PACL pAcl,
[in] DWORD dwAceRevision,
[in] DWORD AceFlags,
[in] DWORD AccessMask,
[in] PSID pSid
);
Parameter
[in, out] pAcl
Ein Zeiger auf eine DACL. Die AddAccessDeniedAceEx-Funktion fügt am Ende dieser DACL eine Zugriffsverweigerungs-ACE hinzu. Der ACE hat die Form einer ACCESS_DENIED_ACE-Struktur .
[in] dwAceRevision
Gibt die Revisionsebene der DACL an, die geändert wird. Dieser Wert kann ACL_REVISION oder ACL_REVISION_DS sein. Verwenden Sie ACL_REVISION_DS, wenn die DACL objektspezifische ACEs enthält.
[in] AceFlags
Eine Reihe von Bitflags, die die ACE-Vererbung steuern. Die Funktion legt diese Flags im AceFlags-Member der ACE_HEADER-Struktur des neuen ACE fest. Für diesen Parameter ist eine Kombination der folgenden Werte gültig.
Wert | Bedeutung |
---|---|
|
Der ACE wird von Containerobjekten geerbt. |
|
Der ACE gilt nicht für das Objekt, dem die Zugriffssteuerungsliste (Access Control List , ACL) zugewiesen ist, aber es kann von untergeordneten Objekten geerbt werden. |
|
Gibt einen geerbten ACE an. Dieses Flag ermöglicht Es Vorgängen, die die Sicherheit für eine Struktur von Objekten ändern, geerbte ACEs zu ändern, während acEs, die direkt auf das Objekt angewendet wurden, nicht geändert werden. |
|
Die OBJECT_INHERIT_ACE und CONTAINER_INHERIT_ACE Bits werden nicht an eine geerbte ACE weitergegeben. |
|
Der ACE wird von Nichtcontainerobjekten geerbt. |
[in] AccessMask
Eine Reihe von Bitflags, die das ACCESS_MASK Format verwenden, um die Zugriffsrechte anzugeben, die der neue ACE der angegebenen Sicherheits-ID (SID) verweigert.
[in] pSid
Ein Zeiger auf eine SID, die den Benutzer, die Gruppe oder die Anmeldesitzung identifiziert, auf die der neue ACE den Zugriff verweigert.
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. |
|
Der AceFlags-Parameter ist ungültig. |
|
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
Obwohl die AddAccessDeniedAceEx-Funktion den neuen ACE am Ende der DACL hinzufügt, sollten Zugriffsverweigerungs-ACEs am Anfang einer DACL angezeigt werden. Der Aufrufer muss sicherstellen, dass ACEs der DACL in der richtigen Reihenfolge hinzugefügt werden. Weitere Informationen finden Sie unter Reihenfolge von ACEs in einer DACL.
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 |