ILockBytes - グローバル メモリ実装

ILockBytes グローバル メモリ実装は、COM 複合ファイル ストレージ オブジェクトの基になるバイト配列オブジェクトに実装され、グローバル メモリへの直接の読み取りと書き込みを行うように設計されています。

使用するタイミング

ILockBytes のメソッドは、StgCreateDocfile の呼び出しによって作成された複合ファイル ストレージ オブジェクトの IStorageIStream の複合ファイル実装から呼び出されます。

解説

ILockBytes グローバル メモリ実装のメソッドを次に示します。

ILockBytes::ReadAt

バイト配列の先頭にある指定したオフセットからバイト ブロックを読み取ります。

ILockBytes::WriteAt

バイト配列の先頭にある指定したオフセットからバイト ブロックを書き込みます。

ILockBytes::Flush

ファイルベースの実装とは異なり、グローバル メモリ実装でこのメソッドを呼び出しても効果はありません。

ILockBytes::SetSize

バイト配列のサイズを設定します。

ILockBytes::LockRegion

この実装ではロックがサポートされていないため、 dwLocksType は 0 に設定されます。 呼び出し元は、アクセスが有効であり、相互に排他的であることを確認する必要があります。

ILockBytes::UnlockRegion

この実装では、ロックはサポートされていません。

ILockBytes::Stat

COM 提供の IStorage::Stat 実装では 、ILockBytes::Stat メソッドを呼び出して、バイト配列オブジェクトに関するデータを取得します。 バイト配列に適切な名前がない場合、COM 提供の ILockBytes::Stat メソッドは STATSTG 構造体の pwcsName メンバーで NULL を返します。

ILockBytes

IStorage

Istream