ExtRemoteData class (engextcpp.hpp)

The ExtRemoteData class provides a wrapper around a small section of a target's memory. ExtRemoteData automatically retrieves the memory and provides a number of convenience methods.

The ExtRemoteData class includes the following constructors and methods:

ExtRemoteData

Set(Typed)

Set(Offset Bytes)

Read

Write

GetData

GetChar

GetUchar

GetBoolean

GetStdBool

GetW32Bool

GetShort

GetUshort

GetLong

GetUlong

GetLong64

GetUlong64

GetFloat

GetDouble

GetLongPtr

GetUlongPtr

GetPtr

ReadBuffer

WriteBuffer

GetString

class ExtRemoteData
{
public:
    PCSTR  m_Name;
    ULONG64  m_Offset;
    bool  m_ValidOffset;
    ULONG  m_Bytes;
    ULONG64  m_Data;
    bool  m_ValidData;
    bool  m_Physical;
    ULONG  m_SpaceFlags;
};
m_Name
The name given to this instance of ExtRemoteData. This name is used to provide meaningful error messages and is set by the constructor, ExtRemoteData::ExtRemoteData.
m_Offset
The location in the target's memory (virtual or physical) of the region of memory represented by this instance of ExtRemoteData. It can be set by the ExtRemoteData::ExtRemoteData constructor or by the ExtRemoteData::Set(Typed) or ExtRemoteData::Set(Offset Bytes) methods.
m_ValidOffset
Indicates whether the m_Offsetlocation is valid. If m_ValidOffset is false, the location is not valid and most of the methods for this object will not work. In this case, the ExtRemoteData::Set(Typed) or ExtRemoteData::Set(Offset Bytes) methods can be called to change m_Offset to a valid location.
m_Bytes
The size, in bytes, of the region of memory represented by this object. It can be set by the ExtRemoteData::ExtRemoteData constructor or by the ExtRemoteData::Set(Typed) or ExtRemoteData::Set(Offset Bytes) methods.
m_Data
The cached contents of the region of memory specified by this instance of ExtRemoteData. Setting this member is optional. If the region of memory is large, it will not be cached.
m_ValidData
Indicates whether the m_Data cached data is valid. If m_ValidData is false, the cached data is not valid and most of the methods for this object will not work. In this case, the ExtRemoteData::Read method can be called to refresh the cached data.
m_Physical
Indicates whether the m_Offset location is in the target's virtual address space or in its physical address space. If m_Physical is true, the m_Offsetlocation is in the target's physical address space. If m_Physical is false, the m_Offset location is in the target's virtual address space.
m_SpaceFlags
The DEBUG_PHYSICAL_XXX flags used for accessing physical memory on the target. These flags are only used if m_Physical is true. For a description of these flags, see the ReadPhysical2 method.

Methods

The ExtRemoteData class has these methods.

 
ExtRemoteData::Clear

The Clear convenience method is provided by the ExtRemoteData class, which provides a wrapper for a small section of a target's memory.
ExtRemoteData::ExtRemoteData

The ExtRemoteData constructor creates a new instance of the ExtRemoteData class. For a specified memory region, contents are read from the target.
ExtRemoteData::ExtRemoteData

The ExtRemoteData(PCSTR,ULONG64,ULONG) constructor creates a new instance of the ExtRemoteData class.
ExtRemoteData::ExtRemoteData

The ExtRemoteData(ULONG64,ULONG) constructor creates an instance of the ExtRemoteData class. For a specified memory region, contents are read from the target.
ExtRemoteData::GetBoolean

The GetBoolean method returns a Boolean version of the ExtRemoteData object, which represents the contents of the target's memory.
ExtRemoteData::GetChar

The GetChar method returns a CHAR version of the ExtRemoteData object, which represents the contents of the target's memory.
ExtRemoteData::GetData

The GetData method returns the contents of the target's memory, represented by the ExtRemoteData object.
ExtRemoteData::GetDouble

The GetDouble method returns a double version of the ExtRemoteData object, which represents the contents of the target's memory.
ExtRemoteData::GetFloat

The GetFloat method returns a float version of the ExtRemoteData object, which represents the contents of the target's memory.
ExtRemoteData::GetLong

The GetLong method returns a LONG version of the ExtRemoteData object, which represents the contents of the target's memory.
ExtRemoteData::GetLong64

The GetLong64 method returns a LONG64 version of the ExtRemoteData object, which represents the contents of the target's memory.
ExtRemoteData::GetLongPtr

The GetLongPtr method returns a signed integer version (extended to LONG64) of the ExtRemoteData object, which represents the contents of the target's memory. The size of the unsigned integer from the target is the same size as a pointer on the target.
ExtRemoteData::GetPtr

The GetPtr method returns a pointer from the target's memory version of the ExtRemoteData object, which represents the contents of the target's memory. The size of the unsigned integer from the target is the same size as a pointer on the target.
ExtRemoteData::GetShort

The GetShort method returns a SHORT version of the ExtRemoteData object, which represents the contents of the target's memory.
ExtRemoteData::GetStdBool

The GetStdBool method returns a bool version of the ExtRemoteData object, which represents the contents of the target's memory.
ExtRemoteData::GetString

The GetString(ExtBuffer<char>,ULONG) method reads a null-terminated string from the target's memory.
ExtRemoteData::GetString

The GetString(ExtBuffer<WCHAR>,ULONG) method reads a null-terminated string from the target's memory.
ExtRemoteData::GetString

The GetString method reads a null-terminated string from the target's memory. The string is located in the beginning of the region represented by the ExtRemoteData object.
ExtRemoteData::GetString

The GetString(PWSTR,ULONG,ULONG,bool,PULONG) method reads a null-terminated string from the target's memory.
ExtRemoteData::GetUchar

The GetUChar method returns a UCHAR version of the ExtRemoteData object, which represents the contents of the target's memory.
ExtRemoteData::GetUlong

The GetUlong method returns a ULONG version of the ExtRemoteData object, which represents the contents of the target's memory.
ExtRemoteData::GetUlong64

The GetUlong64 method returns a ULONG64 version of the ExtRemoteData object, which represents the contents of the target's memory.
ExtRemoteData::GetUlongPtr

The GetUlongPtr method returns an unsigned integer version (extended to ULONG64) of the ExtRemoteData object, which represents the contents of the target's memory.
ExtRemoteData::GetUshort

The GetUshort method returns a USHORT version of the ExtRemoteData object, which represents the contents of the target's memory.
ExtRemoteData::GetW32Bool

The GetW32Bool method returns a BOOL version of the ExtRemoteData object, which represents the contents of the target's memory.
ExtRemoteData::Read

The Read method reads the contents of the target's memory, represented by the ExtRemoteData object, and then caches the data.
ExtRemoteData::ReadBuffer

The ReadBuffer method reads data from the target's memory. The data is located in the beginning of the region represented by the ExtRemoteData object. However, the size of the data can be different.
ExtRemoteData::Set

The Set(constDEBUG_TYPED_DATA) method sets the region of the target's memory represented by the ExtRemoteData object.
ExtRemoteData::Set

The Set method sets the region of the target's memory represented by the ExtRemoteData object.
ExtRemoteData::SetBoolean

The SetBoolean convenience method is provided by the ExtRemoteData class, which provides a wrapper for a small section of a target's memory.
ExtRemoteData::SetChar

The SetChar convenience method is provided by the ExtRemoteData class, which provides a wrapper for a small section of a target's memory.
ExtRemoteData::SetData

The SetData convenience method is provided by the ExtRemoteData class, which provides a wrapper for a small section of a target's memory.
ExtRemoteData::SetDouble

The SetDouble convenience method is provided by the ExtRemoteData class, which provides a wrapper for a small section of a target's memory.
ExtRemoteData::SetFloat

The SetFloat convenience method is provided by the ExtRemoteData class, which provides a wrapper for a small section of a target's memory.
ExtRemoteData::SetLong

The SetLong convenience method is provided by the ExtRemoteData class, which provides a wrapper for a small section of a target's memory.
ExtRemoteData::SetLong64

The SetLong64 convenience method is provided by the ExtRemoteData class, which provides a wrapper for a small section of a target's memory.
ExtRemoteData::SetLongPtr

The SetLongPtr convenience method is provided by the ExtRemoteData class, which provides a wrapper for a small section of a target's memory.
ExtRemoteData::SetPtr

The SetPtr convenience method is provided by the ExtRemoteData class, which provides a wrapper for a small section of a target's memory.
ExtRemoteData::SetShort

The SetShort convenience method is provided by the ExtRemoteData class, which provides a wrapper for a small section of a target's memory.
ExtRemoteData::SetStdBool

The SetStdBool convenience method is provided by the ExtRemoteData class, which provides a wrapper for a small section of a target's memory.
ExtRemoteData::SetUchar

The SetUchar convenience method is provided by the ExtRemoteData class, which provides a wrapper for a small section of a target's memory.
ExtRemoteData::SetUlong

The SetUlong convenience method is provided by the ExtRemoteData class, which provides a wrapper for a small section of a target's memory.
ExtRemoteData::SetUlong64

The SetUlong64 convenience method is provided by the ExtRemoteData class, which provides a wrapper for a small section of a target's memory.
ExtRemoteData::SetUlongPtr

The SetUlongPtr convenience method is provided by the ExtRemoteData class, which provides a wrapper for a small section of a target's memory.
ExtRemoteData::SetUshort

The SetUshort convenience method is provided by the ExtRemoteData class, which provides a wrapper for a small section of a target's memory.
ExtRemoteData::SetW32Bool

The SetW32Bool convenience method is provided by the ExtRemoteData class, which provides a wrapper for a small section of a target's memory.
ExtRemoteData::Write

The Write method writes the data cached by the ExtRemoteData object to the region of memory on the target, represented by this object.
ExtRemoteData::WriteBuffer

The WriteBuffer method writes data to the target's memory. The data is located in the beginning of the region represented by the ExtRemoteData object. However, the size of the data can be different.

Requirements

Requirement Value
Target Platform Windows
Header engextcpp.hpp (include Engextcpp.hpp)

See also

ExtRemoteData::ExtRemoteData

ExtRemoteData::Read

ExtRemoteData::Set(Offset Bytes)

ExtRemoteData::Set(Typed)

ReadPhysical2