Freigeben über


BuildExplicitAccessWithNameW-Funktion (aclapi.h)

Die BuildExplicitAccessWithName-Funktion initialisiert eine EXPLICIT_ACCESS-Struktur mit daten, die vom Aufrufer angegeben werden. Der Treuhänder wird durch eine Namenszeichenfolge identifiziert.

Syntax

void BuildExplicitAccessWithNameW(
  [in, out]      PEXPLICIT_ACCESS_W pExplicitAccess,
  [in, optional] LPWSTR             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-endende Zeichenfolge, die den Namen des Treuhänders für den ptstrName-Member der TRUSTEE-Struktur enthält. Die BuildExplicitAccessWithName-Funktion legt die anderen Member der TRUSTEE-Struktur wie folgt fest.

Wert Bedeutung
pMultipleTrusteee
NULL
MultipleTrusteeOperation
NO_MULTIPLE_TRUSTEE
TrusteeForm
TRUSTEE_IS_NAME
Trusteetype
TRUSTEE_IS_UNKNOWN

[in] AccessPermissions

Gibt eine Zugriffsmaske für den grfAccessPermissions-Member der EXPLICIT_ACCESS-Struktur an. Die Maske besteht aus einer 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 den grfAccessMode-Member der EXPLICIT_ACCESS-Struktur an. Der Zugriffsmodus gibt an, ob der Zugriffssteuerungseintrag (Access Control Entry , ACE) die angegebenen Rechte zulässt, verweigert oder überwacht. Bei einer daCL (Discretionary Access Control List ) kann dieser Parameter einer der Werte aus der ACCESS_MODE-Enumeration sein. Für eine Systemzugriffssteuerungsliste (SACL ) kann dieser Parameter eine Kombination aus ACCESS_MODE Werten sein.

[in] Inheritance

Gibt einen Vererbungstyp für den grfInheritance-Member der EXPLICIT_ACCESS-Struktur an. Dieser Wert ist ein Satz 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 Elements entspricht dem Vererbungsteil (Low-Order-Byte) des AceFlags-Elements der ACE_HEADER-Struktur . Dieser Parameter kann NO_INHERITANCE werden, um anzugeben, dass der ACE nicht vererbbar ist, 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, aber objekte, die im primären Objekt enthalten sind, erben den 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 im primären Objekt enthalten sind, erben den 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 im primären Objekt enthalten sind, erben den 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 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
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