DEBUG_TYPED_DATA结构(wdbgexts.h)

DEBUG_TYPED_DATA结构描述目标内存中的类型化数据。

语法

typedef struct _DEBUG_TYPED_DATA {
  ULONG64 ModBase;
  ULONG64 Offset;
  ULONG64 EngineHandle;
  ULONG64 Data;
  ULONG   Size;
  ULONG   Flags;
  ULONG   TypeId;
  ULONG   BaseTypeId;
  ULONG   Tag;
  ULONG   Register;
  ULONG64 Internal[9];
} DEBUG_TYPED_DATA, *PDEBUG_TYPED_DATA;

成员

ModBase

模块的基址,在目标的虚拟地址空间中,包含类型化数据。

Offset

目标内存中类型化数据的位置。 偏移量 是虚拟内存地址,除非 标志 中存在一些标志,这些标志 指定偏移量 是物理内存地址。

EngineHandle

设置为零。

Data

将数据强制转换为ULONG64。 如果 标志 不包含DEBUG_TYPED_DATA_IS_IN_MEMORY标志,则数据不可用,并且 数据 设置为零。

Size

数据的大小(以字节为单位)。

Flags

描述数据所在的目标内存的标志。 可以设置以下位标志。

描述
DEBUG_TYPED_DATA_IS_IN_MEMORY 数据位于目标的内存中,并且可用。
DEBUG_TYPED_DATA_PHYSICAL_DEFAULT 偏移量 是物理内存地址,Offset 的物理内存使用默认内存缓存。
DEBUG_TYPED_DATA_PHYSICAL_CACHED 偏移量 是物理内存地址,缓存 Offset 的物理内存。
DEBUG_TYPED_DATA_PHYSICAL_UNCACHED 偏移量 是物理内存地址,并且未缓存 偏移量 的物理内存。
DEBUG_TYPED_DATA_PHYSICAL_WRITE_COMBINED 偏移量 是物理内存地址,偏移量 的物理内存是写入组合的。

TypeId

数据类型的类型 ID。

BaseTypeId

对于生成的类型,数据类型所基于的类型 ID。 例如,如果类型化数据表示指针(或数组),BaseTypeId 是指向的对象的类型(或保存在数组中)。

对于其他类型,BaseTypeIdTypeId相同。

Tag

类型化数据的符号标记。 这是来自 SymTagEnum 枚举的值。 有关值的说明,请参阅 DbgHelp API 文档。

Register

包含数据的处理器寄存器的索引,如果寄存器中不包含数据,则为零。 (请注意,零值可以表示数据不在寄存器中,或者它位于索引为零的寄存器中)。

Internal[9]

内部 调试器引擎 数据。

言论

应使用 DEBUG_REQUEST_EXT_TYPED_DATA_ANSI 请求作来作此结构的实例。 具体而言,应使用此方法创建和释放实例,不应直接更改此结构的成员。

上述规则有一个例外:EXT_TDOP_SET_FROM_TYPE_ID_AND_U64EXT_TDOP_SET_PTR_FROM_TYPE_ID_AND_U64 子作采用DEBUG_TYPED_DATA实例,该实例未使用 Request 方法作。 这些子作采用手动创建的实例,其中某些成员手动填充。

在包括 DbgEng.h 之前,注释 包括 WdbgExts.h。 此外,dbgHelp.h(包括 DbgHelp.h)中定义了 SymTagEnum
 

要求

要求 价值
标头 wdbgexts.h (包括 WdbgExts.h)

另请参阅

DEBUG_REQUEST_EXT_TYPED_DATA_ANSI

请求