Класс ExtRemoteData (engextcpp.hpp)

Класс ExtRemoteData предоставляет оболочку вокруг небольшого раздела памяти целевого объекта. ExtRemoteData автоматически извлекает память и предоставляет ряд удобных методов.

Класс ExtRemoteData включает следующие конструкторы и методы:

ExtRemoteData

Set(Typed)

Set(Offset Bytes)

Чтение

запись

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
Имя, данное этому экземпляру ExtRemoteData. Это имя используется для предоставления значимых сообщений об ошибках и задается конструктором ExtRemoteData::ExtRemoteData.
m_Offset
Расположение в памяти целевого объекта (виртуальной или физической) области памяти, представленной этим экземпляром ExtRemoteData. Его можно задать с помощью конструктора ExtRemoteData::ExtRemoteData или методов ExtRemoteData::Set(Typed) или ExtRemoteData::Set(Offset Bytes).
m_ValidOffset
Указывает, является ли расположение m_Offsetдопустимым. Если m_ValidOffset имеет значение false, расположение недопустимо и большинство методов для этого объекта не будут работать. В этом случае можно вызвать методы ExtRemoteData::Set(Typed) или ExtRemoteData::Set(Offset Bytes) для изменения m_Offset на допустимое расположение.
m_Bytes
Размер (в байтах) области памяти, представленной этим объектом. Его можно задать с помощью конструктора ExtRemoteData::ExtRemoteData или методов ExtRemoteData::Set(Typed) или ExtRemoteData::Set(Offset Bytes).
m_Data
Кэшированное содержимое области памяти, указанной этим экземпляром ExtRemoteData. Задание этого элемента является необязательным. Если область памяти большая, она не будет кэширована.
m_ValidData
Указывает, допустимы ли кэшированные данные m_Data . Если m_ValidData имеет значение false, кэшированные данные недопустимы и большинство методов для этого объекта не будут работать. В этом случае для обновления кэшированных данных можно вызвать метод ExtRemoteData::Read .
m_Physical
Указывает, находится ли m_Offset расположение в виртуальном адресном пространстве целевого объекта или в его физическом адресном пространстве. Если m_Physical имеет значение true, m_Offsetрасположение находится в физическом адресном пространстве целевого объекта. Если m_Physical имеет значение false, m_Offset расположение находится в виртуальном адресном пространстве целевого объекта.
m_SpaceFlags
Флаги DEBUG_PHYSICAL_XXX, используемые для доступа к физической памяти целевого объекта. Эти флаги используются только в том случае , если m_Physical имеет значение true. Описание этих флагов см. в описании метода ReadPhysical2 .

Методы

Класс ExtRemoteData содержит следующие методы.

 
ExtRemoteData::Clear

Удобный метод Clear предоставляется классом ExtRemoteData, который предоставляет оболочку для небольшой части памяти целевого объекта.
ExtRemoteData::ExtRemoteData

Конструктор ExtRemoteData создает новый экземпляр класса ExtRemoteData. Для указанной области памяти содержимое считывает из целевого объекта.
ExtRemoteData::ExtRemoteData

Конструктор ExtRemoteData(PCSTR,ULONG64,ULONG) создает новый экземпляр класса ExtRemoteData.
ExtRemoteData::ExtRemoteData

Конструктор ExtRemoteData(ULONG64,ULONG) создает экземпляр класса ExtRemoteData. Для указанной области памяти содержимое считывает из целевого объекта.
ExtRemoteData::GetBoolean

Метод GetBoolean возвращает логическую версию объекта ExtRemoteData, представляющую содержимое памяти целевого объекта.
ExtRemoteData::GetChar

Метод GetChar возвращает версию CHAR объекта ExtRemoteData, представляющую содержимое памяти целевого объекта.
ExtRemoteData::GetData

Метод GetData возвращает содержимое памяти целевого объекта, представленное объектом ExtRemoteData.
ExtRemoteData::GetDouble

Метод GetDouble возвращает двойную версию объекта ExtRemoteData, представляющую содержимое памяти целевого объекта.
ExtRemoteData::GetFloat

Метод GetFloat возвращает версию объекта ExtRemoteData с плавающей точкой, представляющую содержимое памяти целевого объекта.
ExtRemoteData::GetLong

Метод GetLong возвращает длинную версию объекта ExtRemoteData, представляющую содержимое памяти целевого объекта.
ExtRemoteData::GetLong64

Метод GetLong64 возвращает long64-версию объекта ExtRemoteData, представляющую содержимое памяти целевого объекта.
ExtRemoteData::GetLongPtr

Метод GetLongPtr возвращает целочисленную версию со знаком (расширенную до LONG64) объекта ExtRemoteData, представляющую содержимое памяти целевого объекта. Размер целого числа без знака из целевого объекта совпадает с размером указателя на целевом объекте.
ExtRemoteData::GetPtr

Метод GetPtr возвращает указатель из целевой версии памяти объекта ExtRemoteData, который представляет содержимое памяти целевого объекта. Размер целого числа без знака из целевого объекта совпадает с размером указателя на целевом объекте.
ExtRemoteData::GetShort

Метод GetShort возвращает версию SHORT объекта ExtRemoteData, представляющую содержимое памяти целевого объекта.
ExtRemoteData::GetStdBool

Метод GetStdBool возвращает логическую версию объекта ExtRemoteData, представляющую содержимое памяти целевого объекта.
ExtRemoteData::GetString

Метод GetString(ExtBuffer<char,ULONG>) считывает строку, завершающуюся null, из памяти целевого объекта.
ExtRemoteData::GetString

Метод GetString(ExtBuffer<WCHAR,ULONG>) считывает строку, завершающуюся значением NULL, из памяти целевого объекта.
ExtRemoteData::GetString

Метод GetString считывает строку, завершающуюся значением NULL, из памяти целевого объекта. Строка находится в начале области, представленной объектом ExtRemoteData.
ExtRemoteData::GetString

Метод GetString(PWSTR,ULONG,ULONG,bool,PULONG) считывает строку, завершающуюся null, из памяти целевого объекта.
ExtRemoteData::GetUchar

Метод GetUChar возвращает версию UCHAR объекта ExtRemoteData, представляющую содержимое памяти целевого объекта.
ExtRemoteData::GetUlong

Метод GetUlong возвращает ULONG-версию объекта ExtRemoteData, представляющую содержимое памяти целевого объекта.
ExtRemoteData::GetUlong64

Метод GetUlong64 возвращает ULONG64 версию объекта ExtRemoteData, представляющую содержимое памяти целевого объекта.
ExtRemoteData::GetUlongPtr

Метод GetUlongPtr возвращает целочисленную версию без знака (расширенную до ULONG64) объекта ExtRemoteData, представляющую содержимое памяти целевого объекта.
ExtRemoteData::GetUshort

Метод GetUshort возвращает версию USHORT объекта ExtRemoteData, представляющую содержимое памяти целевого объекта.
ExtRemoteData::GetW32Bool

Метод GetW32Bool возвращает версию BOOL объекта ExtRemoteData, представляющую содержимое памяти целевого объекта.
ExtRemoteData::Read

Метод Read считывает содержимое памяти целевого объекта, представленное объектом ExtRemoteData, а затем кэширует данные.
ExtRemoteData::ReadBuffer

Метод ReadBuffer считывает данные из памяти целевого объекта. Данные находятся в начале области, представленной объектом ExtRemoteData. Однако размер данных может отличаться.
ExtRemoteData::Set

Метод Set(constDEBUG_TYPED_DATA) задает область памяти целевого объекта, представленную объектом ExtRemoteData.
ExtRemoteData::Set

Метод Set задает область памяти целевого объекта, представленную объектом ExtRemoteData.
ExtRemoteData::SetBoolean

Удобный метод SetBoolean предоставляется классом ExtRemoteData, который предоставляет оболочку для небольшой части памяти целевого объекта.
ExtRemoteData::SetChar

Удобный метод SetChar предоставляется классом ExtRemoteData, который предоставляет оболочку для небольшой части памяти целевого объекта.
ExtRemoteData::SetData

Удобный метод SetData предоставляется классом ExtRemoteData, который предоставляет оболочку для небольшой части памяти целевого объекта.
ExtRemoteData::SetDouble

Удобный метод SetDouble предоставляется классом ExtRemoteData, который предоставляет оболочку для небольшой части памяти целевого объекта.
ExtRemoteData::SetFloat

Удобный метод SetFloat предоставляется классом ExtRemoteData, который предоставляет оболочку для небольшой части памяти целевого объекта.
ExtRemoteData::SetLong

Удобный метод SetLong предоставляется классом ExtRemoteData, который предоставляет оболочку для небольшой части памяти целевого объекта.
ExtRemoteData::SetLong64

Удобный метод SetLong64 предоставляется классом ExtRemoteData, который предоставляет оболочку для небольшой части памяти целевого объекта.
ExtRemoteData::SetLongPtr

Удобный метод SetLongPtr предоставляется классом ExtRemoteData, который предоставляет оболочку для небольшой части памяти целевого объекта.
ExtRemoteData::SetPtr

Удобный метод SetPtr предоставляется классом ExtRemoteData, который предоставляет оболочку для небольшой части памяти целевого объекта.
ExtRemoteData::SetShort

Удобный метод SetShort предоставляется классом ExtRemoteData, который предоставляет оболочку для небольшой части памяти целевого объекта.
ExtRemoteData::SetStdBool

Удобный метод SetStdBool предоставляется классом ExtRemoteData, который предоставляет оболочку для небольшой части памяти целевого объекта.
ExtRemoteData::SetUchar

Удобный метод SetUchar предоставляется классом ExtRemoteData, который предоставляет оболочку для небольшой части памяти целевого объекта.
ExtRemoteData::SetUlong

Удобный метод SetUlong предоставляется классом ExtRemoteData, который предоставляет оболочку для небольшой части памяти целевого объекта.
ExtRemoteData::SetUlong64

Удобный метод SetUlong64 предоставляется классом ExtRemoteData, который предоставляет оболочку для небольшой части памяти целевого объекта.
ExtRemoteData::SetUlongPtr

Удобный метод SetUlongPtr предоставляется классом ExtRemoteData, который предоставляет оболочку для небольшой части памяти целевого объекта.
ExtRemoteData::SetUshort

Удобный метод SetUshort предоставляется классом ExtRemoteData, который предоставляет оболочку для небольшой части памяти целевого объекта.
ExtRemoteData::SetW32Bool

Удобный метод SetW32Bool предоставляется классом ExtRemoteData, который предоставляет оболочку для небольшой части памяти целевого объекта.
ExtRemoteData::Write

Метод Write записывает данные, кэшированные объектом ExtRemoteData, в область памяти целевого объекта, представленную этим объектом.
ExtRemoteData::WriteBuffer

Метод WriteBuffer записывает данные в память целевого объекта. Данные находятся в начале области, представленной объектом ExtRemoteData. Однако размер данных может отличаться.

Требования

Требование Значение
Целевая платформа Windows
Header engextcpp.hpp (включая Engextcpp.hpp)

См. также раздел

ExtRemoteData::ExtRemoteData

ExtRemoteData::Read

ExtRemoteData::Set(Offset Bytes)

ExtRemoteData::Set(Typed)

ReadPhysical2