Freigeben über


BuildExplicitAccessWithNameA-Funktion (aclapi.h)

Die BuildExplicitAccessWithName-Funktion initialisiert eine EXPLICIT_ACCESS Struktur mit daten, die vom Aufrufer angegeben werden. Der Trustee 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 EXPLICIT_ACCESS Struktur, die initialisiert werden soll. Die BuildExplicitAccessWithName-Funktion weist keinen Arbeitsspeicher zu. Dieser Parameter kann nicht NULL-werden.

[in, optional] pTrusteeName

Ein Zeiger auf eine NULL--terminated-Zeichenfolge, die den Namen des Trustee 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 Gruppe von Bitkennzeichnungen, die das ACCESS_MASK Format verwenden, um die Zugriffsrechte anzugeben, die ein ACE- für den Truste 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 Member der EXPLICIT_ACCESS Struktur an. Der Zugriffsmodus gibt an, ob der Zugriffssteuerungseintrag (ACE) die angegebenen Rechte zulässt, verweigert oder überwacht. Bei einer diskretionären Zugriffssteuerungsliste (DACL) kann dieser Parameter einer der Werte aus der ACCESS_MODE-Aufzählung sein. Bei einer Systemzugriffssteuerungsliste (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 Reihe von Bitkennzeichnungen, die bestimmen, 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 sich um eine Kombination der folgenden Werte handeln.

Wert Bedeutung
CONTAINER_INHERIT_ACE
Andere Container, die im primären Objekt enthalten sind, erben die ACE.
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_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. Diese Kennzeichnung entspricht der Kombination der CONTAINER_INHERIT_ACE und INHERIT_ONLY_ACE Flags.
SUB_OBJECTS_ONLY_INHERIT
Nichtcontainerobjekte, die im primären Objekt enthalten sind, erben die ACE. Diese Kennzeichnung entspricht der Kombination aus OBJECT_INHERIT_ACE- und INHERIT_ONLY_ACE Flags.

Rückgabewert

Nichts

Bemerkungen

Anmerkung

Der Header "aclapi.h" 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
mindestens unterstützte Client- Windows XP [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2003 [Nur Desktop-Apps]
Zielplattform- Fenster
Header- aclapi.h
Library Advapi32.lib
DLL- Advapi32.dll

Siehe auch

ACE-

ACL-

Übersicht über die Zugriffssteuerung

grundlegende Zugriffssteuerungsfunktionen

EXPLICIT_ACCESS

GetExplicitEntriesFromAcl

SetEntriesInAcl-

TRUSTEE-