異なるオブジェクトによって作成されたプロパティ間の名前の競合を防ぐために、共有プロパティ マネージャー (SPM) は共有プロパティ グループを使用します。 共有プロパティ グループは、一連の共有プロパティの単なる名前空間です。 共有プロパティ グループ内の各プロパティは、名前、値、および共有プロパティ グループ内の位置で構成されます。 名前または位置を使用して、プロパティ値を取得できます。 共有プロパティ グループ マネージャーを使用して、共有プロパティ グループにアクセスして作成できます。
SPM オブジェクト モデルを次の図に示します。
共有プロパティ マネージャーのインターフェイスを次に示します。
ISharedPropertyGroupManager は、共有プロパティ グループを作成し、既存の共有プロパティ グループへのアクセスを取得するために使用されます。 IObjectContext::CreateInstanceまたは CoCreateInstanceを使用して、SharedPropertyGroupManager オブジェクトのインスタンスを作成することで、ISharedPropertyGroupManager インターフェイスにアクセスできます。
ISharedPropertyGroup は、共有プロパティ グループ内の共有プロパティを作成してアクセスするために使用されます。 ISharedPropertyGroup インターフェイスにアクセスするには、ISharedPropertyGroupManager::CreatePropertyGroup メソッドを使用して、SharedPropertyGroup オブジェクトを作成します。 COM オブジェクトと同様に、SharedPropertyGroup オブジェクトの使用が完了したら、そのオブジェクトを解放する必要があります。
ISharedProperty を使用して、共有プロパティの値を設定または取得します。 共有プロパティには、Variant で表すことができる任意のデータ型を含めることができます。 ISharedProperty インターフェイスにアクセスするには、ISharedPropertyGroup::CreateProperty メソッドまたは ISharedPropertyGroup::CreatePropertyByPosition メソッドを使用して、SharedProperty オブジェクトを作成します。 SharedProperty オブジェクトは、SharedPropertyGroup オブジェクト内からのみ作成またはアクセスできます。 ここでも、使用が完了したら、SharedProperty オブジェクトを解放する必要があります。
関連トピック
-
COM+ Shared Property Manager を する