ExtRemoteData::SetData 方法 (engextcpp.hpp)
ExtRemoteData 类围绕目标内存的一小部分提供包装器。 ExtRemoteData 会自动检索内存并提供许多方便的方法。
ExtRemoteData 类包含以下构造函数和方法:
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 方法。
语法
void SetData(
ULONG64 Data,
ULONG Request,
bool NoWrite
);
参数
Data
请参阅说明。
Request
NoWrite
返回值
无
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | engextcpp.hpp (包括 Engextcpp.hpp) |
Library | engextcpp.hpp |