構造化ストレージのシリアル化されたプロパティ セットの形式
永続プロパティ セットには、ファイル システム エンティティ内にデータを格納するオプションが用意されています。 これらを作成して管理するには、「プロパティとプロパティ セット」で説明されている IPropertySetStorage インターフェイスと IPropertyStorage インターフェイスを使用することをお勧めします。
プロパティ セットは、タグ付けされた値のセクションで構成され、セクションは書式識別子 (FMTID) によって一意に識別されます。 すべてのプロパティは、プロパティ識別子と値を表す型インジケーターで構成されます。 プロパティ セットに格納されている各値には、プロパティを区別する一意のプロパティ識別子があります。 型インジケーターは、値内のデータの表現を表します。
IPropertySetStorage インターフェイスと IPropertyStorage インターフェイスを使用する場合、COM シリアル化されたプロパティ セットの形式構造を処理する必要はありません。 詳細については、次の一覧のトピックを参照してください。
プロパティ セット内のすべてのデータ要素は、Intel 表現 (つまり、リトル エンディアン バイト順) に格納されます。
COM は、プロパティ セットの標準のシリアル化されたデータ形式を定義します。 インターフェイスではなくシリアル化された形式を処理する場合、プロパティ セットには次の特性があります。
- プロパティ セットを使用すると、さまざまなアプリケーションで独自の独立したプロパティ セットを作成して、アプリケーションを処理できます。
- プロパティ セットは、1 つの IStream インスタンスまたは複数のストリームを含む IStorage インスタンスに格納できます。 プロパティ セットは、メモリ内またはディスク上のストレージのさまざまな形式で格納できる別のデータ型です。 ストレージ オブジェクトの文字列名を作成するための詳細と推奨される規則については、「ストレージ オブジェクトの 名前付け規則」を参照してください。
- プロパティ セットを使用すると、内容を記述する表示名のディクショナリを含められます。 プロパティ名を選択するための規則のセットをお勧めします。 この省略可能なディクショナリの詳細については、「 予約済みプロパティ識別子 ( プロパティ ID 0 を含む)」を参照してください。
プロパティ セット ストリームは、次の 3 つの主要な部分に分かれています。
- Header
- FORMATID/offset ペア
- 実際のプロパティ セット値を含むセクション
プロパティ セット ストリームの全長は、256K 以下である必要があります。 次のセクション、 プロパティ セット ヘッダー、 書式識別子/オフセット ペア、 およびセクション ( プロパティ識別子/オフセット ペアを含む) とサポート トピックでは、プロパティ セット データ形式を構成する個々のコンポーネントについて説明します。
Note
このドキュメントの以前のバージョンでは、複数のセクションが許可されているプロパティ セット ストリームの拡張機能について説明しましたが、プロパティ ストリーム内の 1 つのセクションを提供するように変更されています。 1 つの例外は 、DocumentSummaryInformation プロパティ セットと UserDefined プロパティ セットです。