次の方法で共有


パフォーマンスの特性

プロパティ セットを作成するために IPropertySetStorage インターフェイスの COM 複合ファイル実装を呼び出すと、IStorage::CreateStream または IStorage::CreateStorage の呼び出しによってストリームまたはストレージが作成されます。 既定のプロパティ セットはメモリ内に作成されますが、ディスクにはフラッシュされません。 IPropertyStorage::WriteMultiple を呼び出すと、バッファー内で動作します。

プロパティ セットを開くと、 IStorage::OpenStream または IStorage::OpenStorage が使用されます。 プロパティ セット ストリーム全体が連続したメモリに読み取られます。 IPropertyStorage::ReadMultiple 操作は、メモリ バッファーを読み取ることによって動作します。 そのため、最初のアクセスは時間の観点からコストがかかりますが (ディスク読み取りのため)、後続のアクセスは非常に効率的です。 基になるストリームに対する SetSize 操作は、データが追加された場合にディスク領域が使用可能であることを保証するために必要な場合があるため、書き込みの方が若干コストがかかる場合があります。

IPropertyStorage::WriteMultiple が更新プログラムをフラッシュするかどうかに関する保証はありません。 一般に、クライアントは IPropertyStorage::WriteMultiple がイン メモリ バッファーのみを更新することを想定する必要があります。 データをフラッシュするには、 IPropertyStorage::Commit または IUnknown::Release (最終リリース) を呼び出す必要があります。

この設計は 、WriteMultiple が成功する可能性がありますが、データが実際には永続的に書き込まれていないことを意味します。

注意

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