Поделиться через


Класс 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_ValidOffsetfalse, расположение недопустимо и большинство методов для этого объекта не будет работать. В этом случае методы 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_ValidDatafalse, кэшированные данные недопустимы и большинство методов для этого объекта не будут работать. В этом случае метод ExtRemoteData::Read можно вызвать для обновления кэшированных данных.
m_Physical
Указывает, находится ли m_Offset расположение в виртуальном адресном пространстве целевого объекта или в его физическом адресном пространстве. Если m_Physicaltrue, расположение m_Offsetнаходится в физическом адресном пространстве целевого объекта. Если m_Physicalfalse, расположение m_Offset находится в виртуальном адресном пространстве целевого объекта.
m_SpaceFlags
Флаги DEBUG_PHYSICAL_XXX, используемые для доступа к физической памяти в целевом объекте. Эти флаги используются только в том случае, если m_Physicaltrue. Описание этих флагов см. в методе 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 возвращает версию объекта ExtRemoteData LONG64, представляющую содержимое памяти целевого объекта.
ExtRemoteData::GetLongPtr

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

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

Метод GetShort возвращает короткую версию объекта 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 возвращает версию объекта ExtRemoteData USHORT, представляющую содержимое памяти целевого объекта.
ExtRemoteData::GetW32Bool

Метод GetW32Bool возвращает ЛОГическую версию объекта 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. Однако размер данных может отличаться.

Требования

Требование Ценность
целевая платформа Виндоус
заголовка engextcpp.hpp (include Engextcpp.hpp)

См. также

ExtRemoteData::ExtRemoteData

ExtRemoteData::Read

ExtRemoteData::Set(Offset Bytes)

ExtRemoteData::Set(Typed)

ReadPhysical2