Partager via


CSecurityDesc::SetDacl

Place des informations dans une liste de contrôle d'accès discrétionnaire (DACL). Si une liste DACL figure déjà dans le modèle de sécurité, il est remplacé.

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

Paramètres

  • DACL
    Référence à un objet d' CDacl spécifiant la liste DACL pour le modèle de sécurité. Ce paramètre ne doit pas être NULL. Pour définir une liste DACL nulle dans le modèle de sécurité, la première forme de la méthode doit être utilisée avec bPresent a la valeur false.

  • bPresent
    Spécifie une balise qui indique la présence d'une liste DACL dans le modèle de sécurité. Si ce paramètre a la valeur true, la méthode définit l'indicateur de SE_DACL_PRESENT dans la structure de SECURITY_DESCRIPTOR_CONTROL et utilise les valeurs des paramètres de DACL et d' bDefaulted . Si elle a la valeur false, la méthode efface la balise de SE_DACL_PRESENT, et bDefaulted est ignoré.

  • bDefaulted
    Spécifie une balise qui indique la source DACL. Si cette balise est true, la liste DACL nulle a été récupéré par un mécanisme par défaut. Si la valeur false, la liste DACL nulle a été spécifié explicitement par un utilisateur. La méthode signale cette valeur dans la balise de SE_DACL_DEFAULTED de la structure de SECURITY_DESCRIPTOR_CONTROL . Si ce paramètre n'est pas spécifié, la balise de SE_DACL_DEFAULTED est désactivée.

Valeur de retour

Retourne la valeur true en cas de réussite, false en cas d'échec.

Notes

Il existe une différence importante entre une liste DACL vide et inexistante. Lorsqu'une liste DACL vide, il ne contient aucun ACE et aucun droit d'accès n'a été explicitement accordées. Par conséquent, l'accès à l'objet est implicitement refusées. Lorsqu'un objet n'a pas de liste DACL, en revanche, aucune protection n'est assignée à l'objet, et toute demande d'accès est accordée.

Configuration requise

Header: atlsecurity.h

Voir aussi

Référence

CSecurityDesc, classe

SetSecurityDescriptorDacl

CSecurityDesc::SetControl

CSecurityDesc::SetGroup

CSecurityDesc::SetOwner

CSecurityDesc::SetSacl

CSecurityDesc::GetDacl