设置在自由访问控制列表(acl) (DACL)的信息。如果DACL已经存在安全说明符,则替换。
inline void SetDacl(
bool bPresent = true,
bool bDefaulted = false
) throw(...);
inline void SetDacl(
const CDacl & Dacl,
bool bDefaulted = false
) throw(...);
参数
DACL
对 CDacl 指定DACL的对象进行安全说明符。此参数不能是NULL。若要设置在安全说明符的NULL DACL,应使用方法的第一个窗体与 bPresent 设置为false。bPresent
在安全说明符指定指示DACL的显示的标志。如果此参数为true,则方法在 DACL 和 bDefaulted 参数将 SECURITY_DESCRIPTOR_CONTROL 结构的SE_DACL_PRESENT标志并使用值。如果为false,则清除SE_DACL_PRESENT标志,并且,bDefaulted 被忽略。bDefaulted
指定指示DACL的源标志。如果此标志设置为true,则由某个默认结构检索过。如果为false,则由用户显式指定的。方法在 SECURITY_DESCRIPTOR_CONTROL 结构的SE_DACL_DEFAULTED标志存储该值。如果此参数未指定,则清除SE_DACL_DEFAULTED标志。
返回值
如果成功,则返回 true;如果失败,则返回 false。
备注
具有null和不存在的DACL之间的重要差异。当DACL为空时,它不包含访问控制项,并且未显式授予访问权限。因此,访问对象的隐式拒绝。当对象没有DACL,另一方面时,从而保护未指派给对象,并且,授予所有访问请求。
要求
Header: atlsecurity.h