BuildExplicitAccessWithNameA-Funktion (aclapi.h)

Die BuildExplicitAccessWithName-Funktion initialisiert eine EXPLICIT_ACCESS-Struktur mit vom Aufrufer angegebenen Daten. Der Treuhänder wird durch eine Namenszeichenfolge identifiziert.

Syntax

void BuildExplicitAccessWithNameA(
  [in, out]      PEXPLICIT_ACCESS_A pExplicitAccess,
  [in, optional] LPSTR              pTrusteeName,
  [in]           DWORD              AccessPermissions,
  [in]           ACCESS_MODE        AccessMode,
  [in]           DWORD              Inheritance
);

Parameter

[in, out] pExplicitAccess

Ein Zeiger auf eine zu initialisierende EXPLICIT_ACCESS Struktur. Die BuildExplicitAccessWithName-Funktion weist keinen Arbeitsspeicher zu. Dieser Parameter darf nicht NULL sein.

[in, optional] pTrusteeName

Ein Zeiger auf eine null-beendete Zeichenfolge, die den Namen des Treuhänders für das ptstrName-Element der TRUSTEE-Struktur enthält. Die BuildExplicitAccessWithName-Funktion legt die anderen Member der TRUSTEE-Struktur wie folgt fest.

Wert Bedeutung
pMultipleTrustee
NULL
MultipleTrusteeOperation
NO_MULTIPLE_TRUSTEE
TrusteeForm
TRUSTEE_IS_NAME
Trusteetype
TRUSTEE_IS_UNKNOWN

[in] AccessPermissions

Gibt eine Zugriffsmaske für das grfAccessPermissions-Element der EXPLICIT_ACCESS-Struktur an. Die Maske ist 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.

[in] AccessMode

Gibt einen Zugriffsmodus für das grfAccessMode-Element der EXPLICIT_ACCESS-Struktur an. Der Zugriffsmodus gibt an, ob der Zugriffssteuerungseintrag (Access Control Entry , ACE) die angegebenen Rechte zulässt, verweigert oder überwacht. Für eine diskretionäre Zugriffssteuerungsliste (DACL) kann dieser Parameter einer der Werte aus der ACCESS_MODE-Enumeration sein. Für eine Systemzugriffssteuerungsliste (System Access Control List , SACL) kann dieser Parameter eine Kombination aus ACCESS_MODE Werten sein.

[in] Inheritance

Gibt einen Vererbungstyp für das grfInheritance-Element der EXPLICIT_ACCESS-Struktur an. Dieser Wert ist eine Gruppe von Bitflags, die bestimmen, 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 er 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_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_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 der Kombination aus CONTAINER_INHERIT_ACE und INHERIT_ONLY_ACE Flags.
SUB_OBJECTS_ONLY_INHERIT
Nichtcontainerobjekte, die vom primären Objekt enthalten sind, erben das ACE. Dieses Flag entspricht der Kombination der OBJECT_INHERIT_ACE- und INHERIT_ONLY_ACE-Flags.

Rückgabewert

Keine

Bemerkungen

Hinweis

Der aclapi.h-Header definiert BuildExplicitAccessWithName als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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]
Zielplattform Windows
Kopfzeile aclapi.h
Bibliothek Advapi32.lib
DLL Advapi32.dll

Weitere Informationen

ASS

ACL

Zugriffssteuerung Übersicht

Grundlegende Access Control-Funktionen

EXPLICIT_ACCESS

GetExplicitEntriesFromAcl

SetEntriesInAcl

TREUHÄNDER