IDebugDataSpaces3::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,但返回了至少一个字节的数据。
 

此方法还可以返回错误值。 有关详细信息,请参阅 返回值

言论

此方法使用目标虚拟地址空间中的内存内容填充缓冲区。

此方法可以在检索数据时引用内存数据的缓存。 如果数据是易失性的(如内存映射的硬件状态),请改用 ReadVirtualUncached

读取包含指针的内存时,这些指针用于目标的虚拟地址空间,而不是引擎的。 例如,如果数据结构包含字符串,可能需要对此方法进行第二次调用来读取字符串的内容。

要求

要求 价值
目标平台 桌面
标头 dbgeng.h (包括 Dbgeng.h)

另请参阅

IDebugDataSpaces

IDebugDataSpaces2

IDebugDataSpaces3

IDebugDataSpaces4

ReadVirtualUncached

WriteVirtual