Debugging Tools for Windows

ReadVirtual

The ReadVirtual method reads memory from the target's virtual address space.

HRESULT
  IDebugDataSpaces::ReadVirtual(
    IN ULONG64  Offset,
    OUT PVOID  Buffer,
    IN ULONG  BufferSize,
    OUT OPTIONAL PULONG  BytesRead
    );

Parameters

Offset
Specifies the location in the target's virtual address space to be read.
Buffer
Specifies the buffer to read the memory into.
BufferSize
Specifies the size in bytes of the buffer. This is also the number of bytes being requested.
BytesRead
Receives the number of bytes that were read. If it is set to NULL, this information is not returned.

Return Value

S_OK
The method was successful. It is possible that BytesRead is less than BufferSize, but at least one byte of data was returned.

This method can also return error values. See Return Values for more details.

Interface Version

ReadVirtual is available in all versions of IDebugDataSpaces.

Comments

This method fills the buffer with the contents of the memory in the target's virtual address space.

This method may reference a cache of memory data when retrieving data. If the data is volatile, such as memory-mapped hardware state, use ReadVirtualUncached instead.

When reading memory that contains pointers, these pointers are for the target's virtual address space and not the engine's. For example, if a data structure contained a string, a second call to this method may be needed to read the contents of the string.

Requirements

Headers: Defined in Dbgeng.h. Include Dbgeng.h.

See Also

WriteVirtual, ReadVirtualUncached

Build machine: CAPEBUILD