共用方式為


CSecurityDesc::SetDacl

設定在 Discretionary 存取控制清單 (DACL) (DACL) 的資訊。 如果 DACL 已在安全性描述元,它已經被取代。

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

參數

  • Dacl
    為指定的物件的 DACL CDacl 參考提供安全性描述元。 這個參數不可以是 null。 若要設定安全性描述元的 null DACL,應該使用這個方法的第一 bPresent 與設定為 false。

  • bPresent
    在安全性描述元指定 DACL 的外觀的旗標。 如果此參數為 true 時,方法會 Dacl 和 bDefaulted 參數設定 SECURITY_DESCRIPTOR_CONTROL 結構的 SE_DACL_PRESENT 旗標並使用值。 如果是 false,則方法會清除 SE_DACL_PRESENT 旗標,因此, bDefaulted 被忽略。

  • bDefaulted
    指定 DACL 的來源的旗標。 如果這個旗標設為 true 時,某些 DACL 已由預設機制擷取。 如果為 false, DACL 已由使用者明確地指定。 方法會 SECURITY_DESCRIPTOR_CONTROL 結構的 SE_DACL_DEFAULTED 旗標來儲存值。 如果未指定此參數,就會清除 SE_DACL_DEFAULTED 旗標。

傳回值

如果成功則傳回 true,失敗則傳回 false。

備註

具有空白和不存在的 DACL 之間的重要差異。 當 DACL 是空的時,它並不包含存取控制項目,且未明確授與存取權限。 因此,對物件的存取隱含拒絕。 當物件沒有 DACL,另一方面,保護時不會指派給物件,此物件,並授與所有存取要求。

需求

Header: atlsecurity.h

請參閱

參考

CSecurityDesc Class

SetSecurityDescriptorDacl

CSecurityDesc::SetControl

CSecurityDesc::SetGroup

CSecurityDesc::SetOwner

CSecurityDesc::SetSacl

CSecurityDesc::GetDacl