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,则不会返回此信息。
返回值
| 返回代码 | 描述 | 
|---|---|
| 
 | 该方法成功。 BytesRead 可能小于 BufferSize,但返回了至少一个字节的数据。 | 
此方法还可以返回错误值。 有关详细信息,请参阅 返回值。
言论
此方法使用目标虚拟地址空间中的内存内容填充缓冲区。
此方法可以在检索数据时引用内存数据的缓存。 如果数据是易失性的(如内存映射的硬件状态),请改用 ReadVirtualUncached。
读取包含指针的内存时,这些指针用于目标的虚拟地址空间,而不是引擎的。 例如,如果数据结构包含字符串,可能需要对此方法进行第二次调用来读取字符串的内容。
要求
| 要求 | 价值 | 
|---|---|
| 目标平台 | 桌面 | 
| 标头 | dbgeng.h (包括 Dbgeng.h) |