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