ILockBytes - グローバル メモリ実装
ILockBytes グローバル メモリ実装は、COM 複合ファイル ストレージ オブジェクトの基になるバイト配列オブジェクトに実装され、グローバル メモリへの直接の読み取りと書き込みを行うように設計されています。
使用するタイミング
ILockBytes のメソッドは、StgCreateDocfile の呼び出しによって作成された複合ファイル ストレージ オブジェクトの IStorage と IStream の複合ファイル実装から呼び出されます。
解説
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 を返します。
関連トピック