IPropertyStorage インターフェイス (propidl.h)

IPropertyStorage インターフェイスは、1 つのプロパティ セットの永続的なプロパティを管理します。 永続的なプロパティは、ファイルに関連付けられている概要情報など、プロパティ セットに永続的に格納できる情報で構成されます。 これは、システムの動作に影響を与えるために使用できる Controls および Automation に関連付けられているランタイム プロパティとは対照的です。 永続的なプロパティ セットを作成または開くには、 IPropertySetStorage インターフェイスのメソッドを使用します。 IPropertySetStorage インターフェイスのインスタンスは、0 個以上の IPropertyStorage インスタンスを管理できます。

プロパティ セット内の各プロパティは、そのセットに固有の 4 バイト の ULONG 値であるプロパティ識別子 (ID) によって識別されます。 IPropertyStorage インターフェイスを使用して、プロパティに文字列名を割り当てることもできます。

プロパティ ID は、Automation dispid プロパティ名タグで使用されるディスパッチ ID とは異なります。 1 つの違いは、 IPropertyStorage ではプロパティ ID 値 0 と 1 の汎用使用は禁止されていますが、 IDispatch にはこのような制限は存在しません。 さらに、 IPropertyStorageIDispatch で使用できるプロパティ値のデータ型間には大きな重複がありますが、プロパティ セットは同じではありません。 IPropertyStorage メソッドで使用される永続的なプロパティ データ型は、PROPVARIANT 構造体で定義されます。

IPropertyStorage インターフェイスを使用して、単純なプロパティ セットと非単純なプロパティ セットの両方にアクセスできます。 単純でないプロパティ セットは、単純なプロパティ セットに保持できない複数の複合プロパティ型を保持できます。 詳細については、「プロパティ セットのストレージ オブジェクトとStream オブジェクト」を参照してください。

継承

IPropertyStorage インターフェイスは、IUnknown インターフェイスから継承されます。 IPropertyStorage には、次の種類のメンバーもあります。

メソッド

IPropertyStorage インターフェイスには、これらのメソッドがあります。

 
IPropertyStorage::Commit

IPropertyStorage::Commit メソッドは、プロパティ ストレージ オブジェクトに加えられた変更を親ストレージ オブジェクトに保存します。
IPropertyStorage::D eleteMultiple

IPropertyStorage::D eleteMultiple メソッドは、指定されたプロパティのうち、このプロパティ セットに存在する限り多くのプロパティを削除します。
IPropertyStorage::D eletePropertyNames

DeletePropertyNames メソッドは、指定した文字列名を現在のプロパティ セットから削除します。 (IPropertyStorage.DeletePropertyNames)
IPropertyStorage::Enum

IPropertyStorage::Enum メソッドは、現在のプロパティ セットに関する情報を含む STATPROPSTG 型のデータを列挙するように設計された列挙子オブジェクトを作成します。
IPropertyStorage::ReadMultiple

IPropertyStorage::ReadMultiple メソッドは、現在のプロパティ セットから指定されたプロパティを読み取ります。
IPropertyStorage::ReadPropertyNames

IPropertyStorage::ReadPropertyNames メソッドは、指定されたプロパティ ID の既存の文字列名を取得します。
IPropertyStorage::Revert

IPropertyStorage::Revert メソッドは、名前付きプロパティ セットが最後に開かれた後のすべての変更を破棄するか、プロパティ セットに最後にコミットされた変更を破棄します。
IPropertyStorage::SetClass

IPropertyStorage::SetClass メソッドは、現在のプロパティ ストレージ オブジェクトに新しい CLSID を割り当て、CLSID を オブジェクトと共に永続的に格納します。
IPropertyStorage::SetTimes

実装でサポートされている場合、IPropertyStorage::SetTimes メソッドは、このプロパティ セットの変更、アクセス、および作成時間を設定します。
IPropertyStorage::Stat

IPropertyStorage::Stat メソッドは、現在開いているプロパティ セットに関する情報を取得します。 (IPropertyStorage.Stat)
IPropertyStorage::WriteMultiple

IPropertyStorage::WriteMultiple メソッドは、指定したプロパティ グループを現在のプロパティ セットに書き込みます。
IPropertyStorage::WritePropertyNames

IPropertyStorage::WritePropertyNames メソッドは、現在のプロパティ セット内のプロパティ ID の指定された配列に文字列 IPropertyStoragenames を割り当てます。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー propidl.h (Objbase.h、Propidlbase.h を含む)

こちらもご覧ください

IEnumSTATPROPSETSTG

IEnumSTATPROPSTG

IPropertySetStorage

IPropertyStorage-Compound ファイルの実装

IPropertyStorage-NTFS ファイル システムの実装

IPropertyStorage-スタンドアロン実装

プロパティの管理

PROPVARIANT

プロパティストレージに関する考慮事項

STATPROPSETSTG

STATPROPSTG

サンプル