Share via


AddResourceAttributeAce-Funktion (securitybaseapi.h)

Die AddResourceAttributeAce-Funktion fügt eine SYSTEM_RESOURCE_ATTRIBUTE_ACEZugriffssteuerungseintrag (ACE) am Ende einer Systemzugriffssteuerungsliste (SACL ) hinzu. Eine SYSTEM_RESOURCE_ATTRIBUTE_ACE-Struktur gibt einen Attributnamen und eine wertgeordnete Liste von Elementen an, die einer Ressource zugeordnet und möglicherweise bei Zugriffsprüfungen verwendet werden. Die Standardzugriffsrechte werden im Thema Standardzugriffsrechte definiert.

Syntax

BOOL AddResourceAttributeAce(
  [in, out] PACL                                   pAcl,
  [in]      DWORD                                  dwAceRevision,
  [in]      DWORD                                  AceFlags,
  [in]      DWORD                                  AccessMask,
  [in]      PSID                                   pSid,
  [in]      PCLAIM_SECURITY_ATTRIBUTES_INFORMATION pAttributeInfo,
  [out]     PDWORD                                 pReturnLength
);

Parameter

[in, out] pAcl

Ein Zeiger auf eine Zugriffssteuerungsliste (Access Control List , ACL). Diese Funktion fügt dieser ACL ein ACE hinzu. Der Wert dieses Parameters darf nicht NULL sein. Der ACE hat die Form einer SYSTEM_RESOURCE_ATTRIBUTE_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] 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.

Aus Gründen der Konsistenz mit der Benutzeroberfläche für erweiterte Dateiberechtigungen Windows 8 sollten Anwendungen die CONTAINER_INHERIT_ACE- und OBJECT_INHERIT_ACE-Flags im AceFlags-Parameter angeben.

Für diesen Parameter ist eine Kombination der folgenden Werte gültig.

Wert Bedeutung
CONTAINER_INHERIT_ACE
2 (0x2)
Der ACE wird von den Containerobjekten geerbt.
INHERIT_ONLY_ACE
8 (0x8)
Der ACE gilt nicht für das Objekt, dem die ACE zugewiesen ist, sondern kann von untergeordneten Objekten geerbt werden.
INHERITED_ACE
16 (0x10)
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, ohne ACEs zu ändern, die direkt auf das Objekt angewendet wurden.
NO_PROPAGATE_INHERIT_ACE
4 (0x4)
Die OBJECT_INHERIT_ACE und CONTAINER_INHERIT_ACE Bits werden nicht an ein geerbtes ACE weitergegeben.
OBJECT_INHERIT_ACE
1 (0x1)
Der ACE wird von Nicht-Containerobjekten geerbt.

[in] AccessMask

Für Windows 8 und Windows Server 2012 muss null sein.

[in] pSid

Muss die Jeder-SID (S-1-1-0) für Windows 8 und Windows Server 2012 sein.

[in] pAttributeInfo

Gibt die Attributinformationen an, die nach der SID im ACE angefügt werden.

[out] pReturnLength

Die Größe des tatsächlich verwendeten ACL-Puffers in Bytes. Wenn der durch den pAcl-Parameter angegebene Puffer nicht groß genug ist, ist der Wert dieses Parameters die Gesamtgröße, die für den ACL-Puffer erforderlich ist.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt sie TRUE zurück.

Wenn die Funktion fehlschlägt, gibt sie FALSE zurück. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile securitybaseapi.h (einschließlich Windows.h)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

Standardzugriffsrechte