次の方法で共有


IDebugDataSpaces4::ReadVirtual メソッド (dbgeng.h)

ReadVirtual メソッドは、ターゲットの仮想アドレス空間からメモリを読み取ります。

構文

HRESULT ReadVirtual(
  [in]            ULONG64 Offset,
  [out]           PVOID   Buffer,
  [in]            ULONG   BufferSize,
  [out, optional] PULONG  BytesRead
);

パラメーター

[in] Offset

読み取るターゲットの仮想アドレス空間内の場所を指定します。

[out] Buffer

メモリを読み取るバッファーを指定します。

[in] BufferSize

バッファーのサイズをバイト単位で指定します。 これは、要求されているバイト数でもあります。

[out, optional] BytesRead

読み取られたバイト数を受け取ります。 NULLに設定されている場合、この情報は返されません。

戻り値

リターン コード 形容
S_OK
メソッドが成功しました。 BytesRead が BufferSize 未満である可能性がありますが、少なくとも 1 バイトのデータが返されました。
 

このメソッドは、エラー値を返すこともできます。 詳細については 戻り値の を参照してください。

備考

このメソッドは、ターゲットの仮想アドレス空間内のメモリの内容をバッファーに格納します。

このメソッドは、データの取得時にメモリ データのキャッシュを参照する場合があります。 メモリ マップハードウェアの状態など、データが揮発性である場合は、代わりに ReadVirtualUncached を使用します。

ポインターを含むメモリを読み取る場合、これらのポインターは、エンジンではなくターゲットの仮想アドレス空間用です。 たとえば、データ構造に文字列が含まれている場合、文字列の内容を読み取るために、このメソッドの 2 回目の呼び出しが必要になる場合があります。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー dbgeng.h (Dbgeng.h を含む)

関連項目

IDebugDataSpaces

IDebugDataSpaces2

IDebugDataSpaces3 する

IDebugDataSpaces4

ReadVirtualUncached

WriteVirtual