Debugging Tools for Windows

WritePhysical2

The WritePhysical2 method writes data to the specified physical address in the target's memory.

HRESULT
  IDebugDataSpaces4::WritePhysical2(
    IN ULONG64  Offset,
    IN ULONG  Flags,
    IN PVOID  Buffer,
    IN ULONG  BufferSize,
    OUT OPTIONAL PULONG  BytesWritten
    );

Parameters

Offset
Specifies the physical address of the memory to write the data to.
Flags
Specifies the properties of the physical memory to be written to. This must match the way the physical memory was advertised to the operating system on the target. Possible values are listed in the following table.
Value Description
DEBUG_PHYSICAL_DEFAULT Use the default memory caching.
DEBUG_PHYSICAL_CACHED The physical memory is cached.
DEBUG_PHYSICAL_UNCACHED The physical memory is uncached.
DEBUG_PHYSICAL_WRITE_COMBINED The physical memory is write-combined.

Buffer
Specifies the data to write.
BufferSize
Specifies the size, in bytes, of the Buffer buffer. This is the maximum number of bytes that will be written.
BytesWritten
Receives the number of bytes written to the target's memory. If BytesWritten is NULL, this information is not returned.

Return Value

S_OK
The method was successful.

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

Interface Version

WritePhysical2 is available in IDebugDataSpaces4 and later versions.

Comments

This method is only available in kernel-mode debugging.

The flags DEBUG_PHYSICAL_CACHED, DEBUG_PHYSICAL_UNCACHED, and DEBUG_PHYSICAL_WRITE_COMBINED can only be used when the target is a live kernel target that is being debugged in the standard way (using a COM port, 1394 bus, or named pipe).

Requirements

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

See Also

WritePhysical, WritePhysical2

Build machine: CAPEBUILD