Freigeben über


ACCESS_DENIED_CALLBACK_OBJECT_ACE Struktur (winnt.h)

Die ACCESS_DENIED_CALLBACK_OBJECT_ACE-Struktur definiert einen Zugriffssteuerungseintrag (ACE), der den Zugriff auf ein Objekt, einen Eigenschaftensatz oder eine Eigenschaft kontrolliert. Die ACE enthält eine Reihe von Zugriffsrechten, eine GUID-, die den Objekttyp identifiziert, und einen Sicherheitsbezeichner (SID), der den Trustee identifiziert,, auf den das System zugriff verweigert. Die ACE enthält auch eine GUID- und eine Reihe von Flags, die die Vererbung der ACE durch untergeordnete Objekte steuern.

Wenn die AuthzAccessCheck-Funktion aufgerufen wird, Jede ACCESS_DENIED_CALLBACK_OBJECT_ACE Struktur, die in der DACL einer SECURITY_DESCRIPTOR-Struktur enthalten ist, die über einen Zeiger an die AuthzAccessCheck-Funktion übergeben wird, ruft einen Aufruf der anwendungsdefinierten AuthzAccessCheckCallback-Funktion auf, in der ein Zeiger auf die gefundene ACCESS_DENIED_CALLBACK_OBJECT_ACE-Struktur im pAce Parameter übergeben wird.

Syntax

typedef struct _ACCESS_DENIED_CALLBACK_OBJECT_ACE {
  ACE_HEADER  Header;
  ACCESS_MASK Mask;
  DWORD       Flags;
  GUID        ObjectType;
  GUID        InheritedObjectType;
  DWORD       SidStart;
} ACCESS_DENIED_CALLBACK_OBJECT_ACE, *PACCESS_DENIED_CALLBACK_OBJECT_ACE;

Angehörige

Header

ACE_HEADER Struktur, die die Größe und den Typ der ACE angibt. Sie enthält Flags, die die Vererbung der ACE durch untergeordnete Objekte steuern. Das AceType Mitglied der ACE_HEADER-Struktur sollte auf ACCESS_DENIED_CALLBACK_ACE_TYPE festgelegt werden, und das AceSize Member sollte auf die Gesamtanzahl der Bytes festgelegt werden, die der ACCESS_DENIED_CALLBACK_OBJECT_ACE Struktur zugeordnet sind.

Mask

Eine ACCESS_MASK, die die Zugriffsrechte angibt, die das System dem Trustee verweigert.

Flags

Eine Reihe von Bitkennzeichnungen, die angeben, ob die ObjectType- und InheritedObjectType- Elemente vorhanden sind. Dieser Parameter kann einen oder mehrere der folgenden Werte sein.

Wert Bedeutung
0
Weder ObjectType noch InheritedObjectType- vorhanden sind. Das SidStart Mitglied folgt unmittelbar nach dem Flags Mitglied.
ACE_OBJECT_TYPE_PRESENT
ObjectType- vorhanden ist und eine GUID-enthält.

Wenn dieser Wert nicht angegeben ist, folgt das InheritedObjectType Member unmittelbar nach dem Flags Member.

ACE_INHERITED_OBJECT_TYPE_PRESENT
InheritedObjectType- vorhanden ist und eine GUID-enthält.

Wenn dieser Wert nicht angegeben ist, können alle Typen untergeordneter Objekte die ACE erben.

ObjectType

Dieses Element ist nur vorhanden, wenn das ACE_OBJECT_TYPE_PRESENT Bit im Flags Mitglied festgelegt ist. Andernfalls folgt das InheritedObjectType Member unmittelbar nach dem Flags Member.

Wenn dieses Element vorhanden ist, handelt es sich um eine GUID- Struktur, die einen Eigenschaftensatz, eine Eigenschaft, ein erweitertes Recht oder einen Typ des untergeordneten Objekts identifiziert. Der Zweck dieser GUID- hängt von den im Mask Mitglied angegebenen Zugriffsrechten ab.

Wert Bedeutung
ADS_RIGHT_DS_CONTROL_ACCESS
Die ObjectType-GUID- identifiziert ein erweitertes Zugriffsrecht.
ADS_RIGHT_DS_CREATE_CHILD
Die ObjectType-GUID- identifiziert einen Typ des untergeordneten Objekts. Die ACE steuert das Recht des Trustees, diesen Typ des untergeordneten Objekts zu erstellen.
ADS_RIGHT_DS_READ_PROP
Die ObjectType-GUID- identifiziert einen Eigenschaftensatz oder eine Eigenschaft des Objekts. Die ACE steuert das Recht des Trustees, die Eigenschaft oder den Eigenschaftensatz zu lesen.
ADS_RIGHT_DS_WRITE_PROP
Die ObjectType-GUID- identifiziert einen Eigenschaftensatz oder eine Eigenschaft des Objekts. Die ACE steuert das Recht des Trustees, die Eigenschaft oder den Eigenschaftensatz zu schreiben.
ADS_RIGHT_DS_SELF
Die ObjectType-GUID- identifiziert einen überprüften Schreibzugriff.

InheritedObjectType

Dieses Element ist nur vorhanden, wenn das ACE_INHERITED_OBJECT_TYPE_PRESENT Bit im Flags Member festgelegt ist.

Wenn dieses Element vorhanden ist, handelt es sich um eine GUID- Struktur, die den Typ des untergeordneten Objekts identifiziert, das die ACE erben kann. Die Vererbung wird auch durch die Vererbungskennzeichnungen im ACE_HEADERsowie durch jeden Schutz vor Vererbung gesteuert, die auf den untergeordneten Objekten platziert werden.

Der Offset dieses Elements kann variieren. Wenn das Flags-Element-Element nicht das ACE_OBJECT_TYPE_PRESENT-Flag enthält, beginnt das InheritedObjectType-Element Element mit dem offset, der durch das ObjectType Member angegeben wird.

SidStart

Die erste DWORD- der SID eines Trustees. Die verbleibenden Bytes der SID werden nach dem SidStart Member im zusammenhängenden Speicher gespeichert. Diese SID kann mit Anwendungsdaten angefügt werden.

Bemerkungen

Wenn weder der ObjectType noch InheritedObjectTypeGUID- angegeben wird, weist die ACCESS_DENIED_CALLBACK_OBJECT_ACE-Struktur die gleiche Semantik wie die von der ACCESS_DENIED_CALLBACK_ACE Struktur verwendeten auf. Verwenden Sie in diesem Fall die ACCESS_DENIED_CALLBACK_ACE Struktur, da sie kleiner und effizienter ist.

Eine ACL, die eine ACCESS_DENIED_CALLBACK_OBJECT_ACE enthält, muss die ACL_REVISION_DS Revisionsnummer in der ACL--Kopfzeile angeben.

Die von der Maske Mitglied angegebenen Zugriffsrechte werden allen Trustee- verweigert, die über eine aktivierte SID verfügen, die mit der sid übereinstimmt, die im SidStart Mitglied gespeichert ist.

Wenn eine ACCESS_DENIED_CALLBACK_OBJECT_ACE Struktur erstellt wird, muss ausreichend Arbeitsspeicher zugewiesen werden, um die GUID-Strukturen in der ObjectType- und InheritedObjectType--Member aufzunehmen, sofern einer oder beide vorhanden sind, sowie um die vollständige SID des Trustee im SidStart Member und den aufeinander folgenden zusammenhängenden Speicher aufzunehmen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows XP [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2003 [Nur Desktop-Apps]
Header- winnt.h (enthalten Windows.h)

Siehe auch

ACE-

ACL-

AddAuditAccessObjectAce

GUID-

SID-