Managing Property SetsPerformance Characteristics

性能と特徴

プロパティセットを作成するために IPropertySetStorage インタフェースの COM 複合ファイル実装を呼び出すには、IStorage.CreateStream() の呼び出しを通じてストリームを作成するか、IStorage.CreateStorage() の呼び出しを通じてストレージを作成するかのどちらを行います。 標準のプロパティセットはメモリ上に作成されますが、ディスクへのフラッシュはされません。 IPropertyStorage.WriteMultiple() が呼び出されたときに、この操作はバッファに書き込まれます。

プロパティセットを開くには、IStorage.OpenStream() または IStorage.OpenStorage() を使用します。 この全てのプロパティセットストリームは、隣接したメモリ上に読み込まれます。 IPropertyStorage.ReadMultiple() はメモリバッファの読み込み時の操作です。 このため、最初のアクセスは(ディスク読み込みのため)時間がかかりますが、続くアクセスには非常に有効です。 書き込みには、データ追記のためにディスク空き容量が十分であることを保障するために、基底となるストリームの SetSize() 操作が必要なため、まれに多くの時間がかかる場合があります。

保障がない場合、IPropertyStorage.WriteMultiple() は更新をフラッシュしてしまいます。 一般的に、クライアントは、IPropertyStorage.WriteMultiple() がメモリバッファのみをアップデートするということを仮定しなければなりません。 データのフラッシュには IPropertyStorage.Commit() または IPropertyStorage.Release() (最終的な解放)を呼び出さなくてはなりません。

この設計は、WriteMultiple() が成功しても、データが実際には連続して書き込まれないこと意味します。

注意: プロパティセットストリームのサイズは、256Kバイトを超過することができません。