CPrivateObjectSecurityDesc クラス

このクラスは、プライベート オブジェクト セキュリティ記述子オブジェクトを表します。

構文

class CPrivateObjectSecurityDesc : public CSecurityDesc

メンバー

パブリック コンストラクター

名前 説明
CPrivateObjectSecurityDesc::CPrivateObjectSecurityDesc コンストラクター。
CPrivateObjectSecurityDesc::~CPrivateObjectSecurityDesc デストラクター。

パブリック メソッド

名前 説明
CPrivateObjectSecurityDesc::ConvertToAutoInherit このメソッドを呼び出して、セキュリティ記述子とそのアクセス制御リスト (ACL) を、継承可能なアクセス制御エントリ (ACL) の自動伝達をサポートする形式に変換します。
CPrivateObjectSecurityDesc::Create 呼び出し元のリソース マネージャーによって作成されたプライベート オブジェクトの自己相対セキュリティ記述子を割り当てて初期化するには、このメソッドを呼び出します。
CPrivateObjectSecurityDesc::Get プライベート オブジェクトのセキュリティ記述子から情報を取得するには、このメソッドを呼び出します。
CPrivateObjectSecurityDesc::Set プライベート オブジェクトのセキュリティ記述子を変更するには、このメソッドを呼び出します。

演算子

演算子 説明
operator = 代入演算子。

解説

CSecurityDesc から派生したこのクラスは、プライベート オブジェクトのセキュリティ記述子の作成と管理のためのメソッドを提供します。

Windows のアクセス制御モデルの概要については、Windows SDK のアクセス制御に関するページをご覧ください。

継承階層

CSecurityDesc

CPrivateObjectSecurityDesc

必要条件

ヘッダー: atlsecurity.h

CPrivateObjectSecurityDesc::ConvertToAutoInherit

このメソッドを呼び出して、セキュリティ記述子とそのアクセス制御リスト (ACL) を、継承可能なアクセス制御エントリ (ACL) の自動伝達をサポートする形式に変換します。

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
アクセス制御エントリ (ACEs) が pParent から継承される方法を制御するビット フラグのセット。 詳細は、「CreatePrivateObjectSecurityEx」を参照してください。

戻り値

正常に終了した場合は true を返します。失敗した場合は false を返します。

解説

このメソッドは、CreatePrivateObjectSercurity または CreatePrivateObjectSecurityEx を呼び出します。

2 番目のメソッドでは、新しいオブジェクトのオブジェクト型 GUID の指定または ACE の継承方法の制御を行うことができます。

Note

自己相対セキュリティ記述子は、連続するメモリ ブロックにすべてのセキュリティ情報を格納するセキュリティ記述子です。

CPrivateObjectSecurityDesc::Get

プライベート オブジェクトのセキュリティ記述子から情報を取得するには、このメソッドを呼び出します。

bool Get(
    SECURITY_INFORMATION si,
    CSecurityDesc* pResult) const throw();

パラメーター

Si
セキュリティ記述子の取得する部分を指定するビット フラグのセット。 この値は、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();

パラメーター

Si
セキュリティ記述子の設定する部分を指定するビット フラグのセット。 この値は、SECURITY_INFORMATION ビット フラグの組み合わせです。

変更
CSecurityDesc オブジェクトへのポインター。 si パラメーターによって指定されるこのセキュリティ記述子の部分が、オブジェクトのセキュリティ記述子に適用されます。

GenericMapping
各汎用権限とオブジェクト固有の権限のマッピングを指定する GENERIC_MAPPING 構造体へのポインター。

トークン
オブジェクトの作成対象であるクライアント プロセスの CAccessToken オブジェクトへの参照。

AutoInheritFlags
アクセス制御エントリ (ACEs) が pParent から継承される方法を制御するビット フラグのセット。 詳細は、「CreatePrivateObjectSecurityEx」を参照してください。

戻り値

正常に終了した場合は true を返します。失敗した場合は false を返します。

解説

2 番目のメソッドでは、オブジェクトのオブジェクト型 GUID の指定または ACE の継承方法の制御を行うことができます。

関連項目

SECURITY_DESCRIPTOR
クラスの概要
セキュリティに関するグローバル関数
CSecurityDesc クラス