IPropertySetStorage インターフェイス (propidl.h)
IPropertySetStorage インターフェイスは、IPropertyStorage インターフェイスのインスタンスをサポートするプロパティ セット ストレージを作成、開き、削除、および列挙します。 IPropertyStorage インターフェイスは、プロパティ ストレージ サブオブジェクト内の 1 つのプロパティ セットを管理します。IPropertySetStorage インターフェイスは、このようなプロパティ セットのグループのストレージを管理します。 どのファイル システム エンティティでも、COM 複合ファイル オブジェクトに現在実装されている IPropertySetStorage をサポートできます。
IPropertySetStorage インターフェイスと IPropertyStorage インターフェイスは、これらのセットが IStorage をサポートするストレージ オブジェクトに存在するかどうかに関係なく、プロパティ セットを作成および管理するための統一された方法を提供します。 IStorage (構造化ファイルや複合ファイルなど) または IStream をサポートするオブジェクトを介して呼び出された場合、作成されるプロパティ セットは COM プロパティ セット形式に準拠します。詳細については、「構造化ストレージ シリアル化されたプロパティ セット形式」を参照してください。 同様に、 IStorage を使用して COM プロパティ セット形式に書き込まれたプロパティは 、IPropertySetStorage と IPropertyStorage を通じて表示されます。
IPropertySetStorage メソッドは、書式識別子 (FMTID) と呼ばれるグローバル一意識別子 (GUID) を使用してプロパティ セットを識別します。 プロパティ セットの FMTID は、プロパティ セット内のプロパティ識別子、その意味、および値に対する制約を識別します。 プロパティ セットの FMTID には、そのプロパティ セットを操作する手段も用意されている必要があります。 1 つのプロパティ ストレージ内に一度に存在できるのは、特定の FMTID のインスタンスが 1 つだけです。
継承
IPropertySetStorage インターフェイスは、IUnknown インターフェイスから継承されます。 IPropertySetStorage には、次の種類のメンバーもあります。
メソッド
IPropertySetStorage インターフェイスには、これらのメソッドがあります。
IPropertySetStorage::Create プロパティ セットのストレージ オブジェクトに新しいプロパティ セットを作成して開きます。 |
IPropertySetStorage::D elete Delete メソッドは、プロパティ セット ストレージ オブジェクトに含まれるプロパティ セットの 1 つを削除します。 |
IPropertySetStorage::Enum Enum メソッドは、このプロパティ セット ストレージに格納されているプロパティ セットに関する情報を含む列挙子オブジェクトを作成します。 戻り値の場合、このメソッドは列挙子オブジェクトの IEnumSTATPROPSETSTG ポインターへのポインターを提供します。 |
IPropertySetStorage::Open プロパティ セット ストレージ オブジェクトに含まれるプロパティ セットを開きます。 |
注釈
UserDefined プロパティ セットを作成するために IPropertySetStorage::Create が呼び出されると、最初のセクションが自動的に作成されます。 FMTID_UserDefinedPropertiesが作成されたら、FMTID_DocSummaryInformationを作成する必要はありませんが、 IPropertySetStorage::Open を呼び出して開くことができます。 最初のセクションを作成しても、2 番目のセクションは自動的に作成されず、両方のセクションを同時に開くことはできません。
IPropertySetStorage::D elete を呼び出して最初のセクションを削除すると、両方のセクションが削除されます。 つまり、 IPropertySetStorage::D elete を FMTID_DocSummaryInformation で呼び出すと、そのセクションと FMTID_UserDefinedProperties セクションの両方が削除されます。 ただし、2 番目のセクションを削除しても、最初のセクションは自動的に削除されません。
IPropertySetStorage::Enum を使用してプロパティ セットを列挙する場合、UserDefined プロパティ セットは列挙されません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | propidl.h (Objbase.h を含む) |
こちらもご覧ください
IPropertySetStorage-Compound ファイルの実装