EXPLICIT_ACCESS_A Struktur (accctrl.h)

Die EXPLICIT_ACCESS-Struktur definiert Zugriffssteuerungsinformationen für einen angegebenen Treuhänder. Zugriffssteuerungsfunktionen wie SetEntriesInAcl und GetExplicitEntriesFromAcl verwenden diese Struktur, um die Informationen in einem Zugriffssteuerungseintrag (Access Control Entry, ACE) einer Zugriffssteuerungsliste (Access Control List, ACL) zu beschreiben.

Syntax

typedef struct _EXPLICIT_ACCESS_A {
  DWORD       grfAccessPermissions;
  ACCESS_MODE grfAccessMode;
  DWORD       grfInheritance;
  TRUSTEE_A   Trustee;
} EXPLICIT_ACCESS_A, *PEXPLICIT_ACCESS_A, EXPLICIT_ACCESSA, *PEXPLICIT_ACCESSA;

Member

grfAccessPermissions

Eine Reihe von Bitflags, die das ACCESS_MASK-Format verwenden, um die Zugriffsrechte anzugeben, die ein ACE für den Treuhänder zulässt, verweigert oder überwacht. Die Funktionen, die die EXPLICIT_ACCESS Struktur verwenden, konvertieren, interpretieren oder überprüfen die Bits in dieser Maske nicht.

grfAccessMode

Ein Wert aus der ACCESS_MODE-Enumeration . Für eine diskretionäre Zugriffssteuerungsliste (DACL) gibt dieses Flag an, ob die ACL die angegebenen Zugriffsrechte zulässt oder verweigert. Für eine Systemzugriffssteuerungsliste (System Access Control List , SACL) gibt dieses Flag an, ob die ACL Überwachungsmeldungen für erfolgreiche Versuche zur Verwendung der angegebenen Zugriffsrechte oder fehlgeschlagene Versuche oder beides generiert. Wenn Sie eine vorhandene ACL ändern, können Sie das REVOKE_ACCESS-Flag angeben, um alle vorhandenen ACEs für den angegebenen Treuhänder zu entfernen.

grfInheritance

Eine Reihe von Bitflags, die bestimmt, ob andere Container oder Objekte den ACE vom primären Objekt erben können, an das die ACL angefügt ist. Der Wert dieses Members entspricht dem Vererbungsteil (Byte niedriger Ordnung) des AceFlags-Members der ACE_HEADER-Struktur . Dieser Parameter kann NO_INHERITANCE werden, um anzugeben, dass der ACE nicht vererbt werden kann. oder es kann eine Kombination der folgenden Werte sein.

Wert Bedeutung
CONTAINER_INHERIT_ACE
Andere Container, die im primären Objekt enthalten sind, erben den ACE.
INHERIT_NO_PROPAGATE
Erben, aber nicht verteilen.
INHERIT_ONLY
Nur Vererbung.
INHERIT_ONLY_ACE
Der ACE gilt nicht für das primäre Objekt, an das die ACL angefügt ist, sondern objekte, die vom primären Objekt enthalten sind, erben das ACE.
NO_INHERITANCE
Erben Sie nicht.
NO_PROPAGATE_INHERIT_ACE
Die flags OBJECT_INHERIT_ACE und CONTAINER_INHERIT_ACE werden nicht an einen geerbten ACE weitergegeben.
OBJECT_INHERIT_ACE
Nichtcontainerobjekte, die vom primären Objekt enthalten sind, erben das ACE.
SUB_CONTAINERS_AND_OBJECTS_INHERIT
Sowohl Container als auch Nichtcontainerobjekte, die im primären Objekt enthalten sind, erben den ACE. Dieses Flag entspricht der Kombination aus CONTAINER_INHERIT_ACE und OBJECT_INHERIT_ACE Flags.
SUB_CONTAINERS_ONLY_INHERIT
Andere Container, die im primären Objekt enthalten sind, erben den ACE. Dieses Flag entspricht dem CONTAINER_INHERIT_ACE-Flag.
SUB_OBJECTS_ONLY_INHERIT
Nichtcontainerobjekte, die vom primären Objekt enthalten sind, erben das ACE. Dieses Flag entspricht dem OBJECT_INHERIT_ACE Flag.

Trustee

Eine TRUSTEE-Struktur , die den Benutzer, die Gruppe oder das Programm (z. B. einen Windows-Dienst) identifiziert, für den der ACE gilt.

Hinweise

Hinweis

Der accctrl.h-Header definiert EXPLICIT_ACCESS_ als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile accctrl.h

Weitere Informationen

ACCESS_MASK

ACCESS_MODE

ASS

ACE_HEADER

ACL

BuildExplicitAccessWithName

BuildSecurityDescriptor

GetExplicitEntriesFromAcl

LookupSecurityDescriptorParts

SetEntriesInAcl

TREUHÄNDER