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


структура 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

Расположение типизированных данных в памяти целевого объекта. Смещение — это адрес виртуальной памяти, если в разделе Флаги нет флагов, указывающих , что Offset является физическим адресом памяти.

EngineHandle

Задайте нулевое значение.

Data

Приведение данных к ULONG64. Если флаги не содержат флаг DEBUG_TYPED_DATA_IS_IN_MEMORY, данные недоступны, а для данных задано значение 0.

Size

Размер данных в байтах.

Flags

Флаги, описывающие память целевого объекта, в которой находятся данные. Можно задать следующие битовые флаги.

Flag Описание
DEBUG_TYPED_DATA_IS_IN_MEMORY Данные в памяти целевого объекта и доступны.
DEBUG_TYPED_DATA_PHYSICAL_DEFAULT Offset — это адрес физической памяти, а физическая память в offset использует кэширование памяти по умолчанию.
DEBUG_TYPED_DATA_PHYSICAL_CACHED Смещение — это адрес физической памяти, а физическая память в смещении кэшируется.
DEBUG_TYPED_DATA_PHYSICAL_UNCACHED Смещение — это адрес физической памяти, а физическая память в offset не кешируется.
DEBUG_TYPED_DATA_PHYSICAL_WRITE_COMBINED Offset — это адрес физической памяти, а физическая память в offset объединяется при записи.

TypeId

Идентификатор типа для типа данных.

BaseTypeId

Для созданных типов — идентификатор типа, на котором основан тип данных. Например, если типизированные данные представляют указатель (или массив), BaseTypeId — это тип объекта, на который указывает (или хранится в массиве).

Для других типов BaseTypeId совпадает с TypeId.

Tag

Тег символа типизированных данных. Это значение из перечисления SymTagEnum . Описание значений см. в документации по API DbgHelp.

Register

Индекс регистра обработчика, содержащего данные, или нуль, если данные не содержатся в регистре. (Обратите внимание, что нулевое значение может представлять либо то, что данные не содержатся в регистре, либо что они содержатся в регистре, индекс которого равен нулю.)

Internal[9]

Внутренние данные подсистемы отладчика .

Комментарии

Экземплярами этой структуры следует управлять с помощью операциизапроса DEBUG_REQUEST_EXT_TYPED_DATA_ANSI. В частности, экземпляры должны создаваться и освобождаться с помощью этого метода, а члены этой структуры не должны изменяться напрямую.

Существует одно исключение из предыдущего правила: EXT_TDOP_SET_FROM_TYPE_ID_AND_U64 и EXT_TDOP_SET_PTR_FROM_TYPE_ID_AND_U64 субоперации принимают экземпляр DEBUG_TYPED_DATA, который не управляется с помощью метода Request . Эти вложенные операции принимают экземпляр, созданный вручную, с некоторыми элементами, заполненными вручную.

Примечание Включите WdbgExts.h перед включением DbgEng.h. Кроме того, SymTagEnum определяется в DbgHelp.h (включая DbgHelp.h).
 

Требования

Требование Значение
Заголовок wdbgexts.h (включая WdbgExts.h)

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

DEBUG_REQUEST_EXT_TYPED_DATA_ANSI

Запрос