CSecurityDesc::SetDacl

Enthält Informationen in einer besitzerverwalteten Zugriffssteuerungsliste fest (DACL).Wenn DACL bereits in der Sicherheitsbeschreibung vorhanden ist, wird es ersetzt.

inline void SetDacl(
   bool bPresent = true,
   bool bDefaulted = false 
) throw(...);
inline void SetDacl(
   const CDacl & Dacl,
   bool bDefaulted = false 
) throw(...);

Parameter

  • Dacl
    Verweis auf ein Objekt, das das CDacl DACL für die Sicherheitsbeschreibung angibt.Dieser Parameter darf nicht NULL sein.Um eine NULL-DACL in der Sicherheitsbeschreibung festzulegen, sollte das erste Form der Methode mit bPresent verwendet werden, das auf false festgelegt ist.

  • bPresent
    Gibt ein Flag an, das das Vorhandensein eines DACL in der Sicherheitsbeschreibung angibt.Wenn dieser Parameter zutrifft, legt die Methode das SE_DACL_PRESENT-Flag in der SECURITY_DESCRIPTOR_CONTROL-Struktur fest und verwendet die Werte in den Parametern Dacl und bDefaulted.Wenn sie falsch ist, löscht die Methode das SE_DACL_PRESENT-Flag, und bDefaulted wird ignoriert.

  • bDefaulted
    Gibt ein Flag an, das die Quelle des DACL angibt.Wenn dieses Flag zutrifft, ist die DACL von jedem standardmäßige Mechanismus abgerufen wurde.Wenn false, die DACL explizit von einem Benutzer angegeben wurde.Die Methode speichert diesen Wert im SE_DACL_DEFAULTED-Flag der SECURITY_DESCRIPTOR_CONTROL-Struktur.Wenn dieser Parameter nicht angegeben wird, wird das SE_DACL_DEFAULTED-Flag gelöscht.

Rückgabewert

Gibt bei Erfolg true zurück, bei einem Fehler false.

Hinweise

Es gibt einen wichtigen Unterschied zwischen einem leeren und nicht vorhandenen DACL.Wenn DACL leer ist, enthält keine Zugriffssteuerungseinträge und keine Zugriffsrechte werden explizit erteilt.Daher wird Zugriff auf das Objekt implizit verweigert.Wenn ein Objekt kein DACL hingegen hat kein Schutz auf das Objekt zugewiesen, und alle Zugriffsanforderung wird erteilt.

Anforderungen

Header: atlsecurity.h

Siehe auch

Referenz

CSecurityDesc-Klasse

SetSecurityDescriptorDacl

CSecurityDesc::SetControl

CSecurityDesc::SetGroup

CSecurityDesc::SetOwner

CSecurityDesc::SetSacl

CSecurityDesc::GetDacl