Freigeben über


EXPLICIT_ACCESS_A Struktur (accctrl.h)

Die EXPLICIT_ACCESS-Struktur definiert Zugriffssteuerungsinformationen für einen angegebenen Trustee. Zugriffssteuerungsfunktionen wie SetEntriesInAcl und GetExplicitEntriesFromAcl, verwenden Sie diese Struktur, um die Informationen in einem Zugriffssteuerungseintrag(ACCESS) einer Zugriffssteuerungsliste (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;

Angehörige

grfAccessPermissions

Eine Reihe von Bitkennzeichnungen, die das ACCESS_MASK Format verwenden, um die Zugriffsrechte anzugeben, die eine ACE zulässt, verweigert oder überprüft für den Trustee. 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-Aufzählung. Für eine diskretionäre Zugriffssteuerungsliste (DACL) gibt dieses Flag an, ob die ACL die angegebenen Zugriffsrechte zulässt oder verweigert. Bei einer Systemzugriffssteuerungsliste (SACL) gibt dieses Flag an, ob die ACL Überwachungsmeldungen für erfolgreiche Versuche zur Verwendung der angegebenen Zugriffsrechte oder fehlgeschlagene Versuche oder beides generiert. Beim Ändern einer vorhandenen ACL können Sie das REVOKE_ACCESS Flag angeben, um vorhandene ACEs für den angegebenen Trustee zu entfernen.

grfInheritance

Eine Gruppe von Bitkennzeichnungen, die bestimmt, ob andere Container oder Objekte die ACE vom primären Objekt erben können, an das die ACL angefügt ist. Der Wert dieses Elements entspricht dem Vererbungsteil (Byte mit niedriger Reihenfolge) des AceFlags Members der ACE_HEADER Struktur. Dieser Parameter kann NO_INHERITANCE werden, um anzugeben, dass die ACE nicht vererbbar ist; oder es kann eine Kombination aus den folgenden Werten sein.

Wert Bedeutung
CONTAINER_INHERIT_ACE
Andere Container, die im primären Objekt enthalten sind, erben die ACE.
INHERIT_NO_PROPAGATE
Erben, aber nicht weitergeben.
INHERIT_ONLY
Nur erben.
INHERIT_ONLY_ACE
Die ACE gilt nicht für das primäre Objekt, an das die ACL angefügt ist, sondern Objekte, die im primären Objekt enthalten sind, erben die ACE.
NO_INHERITANCE
Erben Sie nicht.
NO_PROPAGATE_INHERIT_ACE
Die flags OBJECT_INHERIT_ACE und CONTAINER_INHERIT_ACE werden nicht an eine geerbte ACE weitergegeben.
OBJECT_INHERIT_ACE
Nichtcontainerobjekte, die im primären Objekt enthalten sind, erben die ACE.
SUB_CONTAINERS_AND_OBJECTS_INHERIT
Sowohl Container als auch Nichtcontainerobjekte, die im primären Objekt enthalten sind, erben die ACE. Diese Kennzeichnung entspricht der Kombination der CONTAINER_INHERIT_ACE und OBJECT_INHERIT_ACE Flags.
SUB_CONTAINERS_ONLY_INHERIT
Andere Container, die im primären Objekt enthalten sind, erben die ACE. Dieses Kennzeichen entspricht der CONTAINER_INHERIT_ACE Kennzeichnung.
SUB_OBJECTS_ONLY_INHERIT
Nichtcontainerobjekte, die im primären Objekt enthalten sind, erben die ACE. Diese Kennzeichnung entspricht der OBJECT_INHERIT_ACE Kennzeichnung.

Trustee

Eine TRUSTEE Struktur, die den Benutzer, die Gruppe oder das Programm (z. B. einen Windows-Dienst) identifiziert, auf den die ACE angewendet wird.

Bemerkungen

Anmerkung

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 Code, der nicht codierungsneutral ist, 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
mindestens unterstützte Client- Windows XP [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2003 [Nur Desktop-Apps]
Header- accctrl.h

Siehe auch

ACCESS_MASK

ACCESS_MODE

ACE-

ACE_HEADER

ACL-

BuildExplicitAccessWithName-

BuildSecurityDescriptor-

GetExplicitEntriesFromAcl

LookupSecurityDescriptorParts

SetEntriesInAcl-

TRUSTEE-