IDebugDataSpaces2::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