структура 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 (включая WdbgExts.h) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по