CPrivateObjectSecurityDesc 類別
這個類別代表私用物件安全性描述元物件。
語法
class CPrivateObjectSecurityDesc : public CSecurityDesc
成員
公用建構函式
名稱 | 描述 |
---|---|
CPrivateObjectSecurityDesc::CPrivateObjectSecurityDesc | 建構函式。 |
CPrivateObjectSecurityDesc::~CPrivateObjectSecurityDesc | 解構函式。 |
公用方法
名稱 | 描述 |
---|---|
CPrivateObjectSecurityDesc::ConvertToAutoInherit | 呼叫這個方法,將安全性描述元及其訪問控制清單 (ACL) 轉換為支援自動傳播可繼承存取控制專案 (ACE) 的格式。 |
CPrivateObjectSecurityDesc::Create | 呼叫這個方法,為呼叫資源管理員所建立的私人物件配置和初始化自我相對安全性描述元。 |
CPrivateObjectSecurityDesc::Get | 呼叫這個方法,從私用對象的安全性描述元擷取資訊。 |
CPrivateObjectSecurityDesc::Set | 呼叫這個方法來修改私用對象的安全性描述元。 |
操作員
運算子 | 描述 |
---|---|
operator = | 指派運算子。 |
備註
這個類別衍生自 CSecurityDesc,提供建立和管理私用物件之安全性描述項的方法。
如需 Windows 中存取控制模型的簡介,請參閱 Windows SDK 中的 存取控制。
繼承階層架構
CPrivateObjectSecurityDesc
需求
標頭: atlsecurity.h
CPrivateObjectSecurityDesc::ConvertToAutoInherit
呼叫這個方法,將安全性描述元及其訪問控制清單 (ACL) 轉換為支援自動傳播可繼承存取控制專案 (ACE) 的格式。
bool ConvertToAutoInherit(
const CSecurityDesc* pParent,
GUID* ObjectType,
bool bIsDirectoryObject,
PGENERIC_MAPPING GenericMapping) throw();
參數
pParent
參考物件父容器之 CSecurityDesc 物件的指標。 如果沒有父容器,此參數為NULL。
ObjectType
GUID
結構的指標,識別與目前對象相關聯的物件類型。 如果對象沒有 GUID,請將 ObjectType 設定為 NULL。
bIsDirectoryObject
指定新物件是否可以包含其他物件。 true 的值表示新對像是容器。 false 值表示新物件不是容器。
GenericMapping
GENERIC_MAPPING結構的指標,指定從每個泛型許可權對應至物件特定許可權的對應。
傳回值
如果成功則傳回 true,失敗則傳回 false。
備註
這個方法會嘗試判斷目前安全性描述元的任意訪問控制清單 (DACL) 和系統訪問控制清單 (SACL) 中的 ACE 是否繼承自父安全性描述元。 它會呼叫 ConvertToAutoInheritPrivateObjectSecurity 函式。
CPrivateObjectSecurityDesc::CPrivateObjectSecurityDesc
建構函式。
CPrivateObjectSecurityDesc() throw();
備註
初始化 CPrivateObjectSecurityDesc
物件。
CPrivateObjectSecurityDesc::~CPrivateObjectSecurityDesc
解構函式。
~CPrivateObjectSecurityDesc() throw();
備註
解構函式會釋放所有已配置的資源,並刪除私用對象的安全性描述元。
CPrivateObjectSecurityDesc::Create
呼叫這個方法,為呼叫資源管理員所建立的私人物件配置和初始化自我相對安全性描述元。
bool Create(
const CSecurityDesc* pParent,
const CSecurityDesc* pCreator,
bool bIsDirectoryObject,
const CAccessToken& Token,
PGENERIC_MAPPING GenericMapping) throw();
bool Create(
const CSecurityDesc* pParent,
const CSecurityDesc* pCreator,
GUID* ObjectType,
bool bIsContainerObject,
ULONG AutoInheritFlags,
const CAccessToken& Token,
PGENERIC_MAPPING GenericMapping) throw();
參數
pParent
參考要在其中建立新物件的父目錄之 CSecurityDesc 物件的指標。 如果沒有父目錄,請設定為 NULL。
pCreator
物件建立者提供之安全性描述元的指標。 如果物件的建立者未明確傳遞新物件的安全性資訊,請將此參數設定為 NULL。
bIsDirectoryObject
指定新物件是否可以包含其他物件。 true 的值表示新對像是容器。 false 值表示新物件不是容器。
權杖
代表物件建立之客戶端進程的 CAccessToken 對象的參考。
GenericMapping
GENERIC_MAPPING結構的指標,指定從每個泛型許可權對應至物件特定許可權的對應。
ObjectType
GUID
結構的指標,識別與目前對象相關聯的物件類型。 如果對象沒有 GUID,請將 ObjectType 設定為 NULL。
bIsContainerObject
指定新物件是否可以包含其他物件。 true 的值表示新對像是容器。 false 值表示新物件不是容器。
AutoInheritFlags
一組位旗標,控制訪問控制專案從 pParent 繼承的方式。 如需詳細資訊,請參閱 CreatePrivateObjectSecurityEx 。
傳回值
如果成功則傳回 true,失敗則傳回 false。
備註
此方法會呼叫 CreatePrivateObjectSercurity 或 CreatePrivateObjectSecurityEx。
第二種方法允許指定新物件的物件類型 GUID,或控制 ACE 的繼承方式。
注意
自我相對安全性描述元是一種安全性描述元,會將其所有安全性資訊儲存在連續記憶體區塊中。
CPrivateObjectSecurityDesc::Get
呼叫這個方法,從私用對象的安全性描述元擷取資訊。
bool Get(
SECURITY_INFORMATION si,
CSecurityDesc* pResult) const throw();
參數
四
一組位旗標,表示要擷取的安全性描述元部分。 這個值可以是SECURITY_INFORMATION位旗標的組合。
pResult
CSecurityDesc 物件的指標,該物件會從指定的安全性描述元接收要求的信息的複本。
傳回值
如果成功則傳回 true,失敗則傳回 false。
備註
安全性描述元是一種結構和相關聯的數據,其中包含安全性實體對象的安全性資訊。
CPrivateObjectSecurityDesc::operator =
指派運算子。
CPrivateObjectSecurityDesc& operator= (const CPrivateObjectSecurityDesc& rhs) throw(...);
參數
rhs
要 CPrivateObjectSecurityDesc
指派給目前對象的物件。
傳回值
傳回更新 CPrivateObjectSecurityDesc
的物件。
CPrivateObjectSecurityDesc::Set
呼叫這個方法來修改私用對象的安全性描述元。
bool Set(
SECURITY_INFORMATION si,
const CSecurityDesc& Modification,
PGENERIC_MAPPING GenericMapping,
const CAccessToken& Token) throw();
bool Set(
SECURITY_INFORMATION si,
const CSecurityDesc& Modification,
ULONG AutoInheritFlags,
PGENERIC_MAPPING GenericMapping,
const CAccessToken& Token) throw();
參數
四
一組位旗標,表示要設定的安全性描述元部分。 這個值可以是SECURITY_INFORMATION位旗標的組合。
修改
CSecurityDesc 物件的指標。 si 參數所指示之這個安全性描述元的部分會套用至對象的安全性描述元。
GenericMapping
GENERIC_MAPPING結構的指標,指定從每個泛型許可權對應至物件特定許可權的對應。
權杖
代表物件建立之客戶端進程的 CAccessToken 對象的參考。
AutoInheritFlags
一組位旗標,控制訪問控制專案從 pParent 繼承的方式。 如需詳細資訊,請參閱 CreatePrivateObjectSecurityEx 。
傳回值
如果成功則傳回 true,失敗則傳回 false。
備註
第二種方法允許指定對象的物件類型 GUID,或控制 ACE 的繼承方式。