// wdbgexts.h
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;
View the official Windows Driver Kit DDI referenceNo description available.
The DEBUG_TYPED_DATA structure describes typed data in the memory of the target.
ModBaseThe base address of the module, in the target's virtual address space, that contains the typed data.
OffsetThe location of the typed data in the target's memory. Offset is a virtual memory address unless there are flags present in Flags that specify that Offset is a physical memory address.
EngineHandleSet to zero.
DataThe data cast to a ULONG64. If Flags does not contain the DEBUG_TYPED_DATA_IS_IN_MEMORY flag, the data is not available and Data is set to zero.
SizeThe size, in bytes, of the data.
FlagsThe flags describing the target's memory in which the data resides. The following bit flags can be set.
| Flag | Description |
|---|---|
| DEBUG_TYPED_DATA_IS_IN_MEMORY | The data is in the target's memory and is available. |
| DEBUG_TYPED_DATA_PHYSICAL_DEFAULT | Offset is a physical memory address, and the physical memory at Offset uses the default memory caching. |
| DEBUG_TYPED_DATA_PHYSICAL_CACHED | Offset is a physical memory address, and the physical memory at Offset is cached. |
| DEBUG_TYPED_DATA_PHYSICAL_UNCACHED | Offset is a physical memory address, and the physical memory at Offset is uncached. |
| DEBUG_TYPED_DATA_PHYSICAL_WRITE_COMBINED | Offset is a physical memory address, and the physical memory at Offset is write-combined. |
TypeIdThe type ID for the data's type.
BaseTypeIdFor generated types, the type ID of the type on which the data's type is based. For example, if the typed data represents a pointer (or an array), BaseTypeId is the type of the object pointed to (or held in the array).
For other types, BaseTypeId is the same as TypeId.
TagThe symbol tag of the typed data. This is a value from the SymTagEnum enumeration. For descriptions of the values, see the DbgHelp API documentation.
RegisterThe index of the processor's register containing the data, or zero if the data is not contained in a register. (Note that the zero value can represent either that the data is not in a register or that it is in the register whose index is zero.)
InternalInternal debugger engine data.
Instances of this structure should be manipulated using the DEBUG_REQUEST_EXT_TYPED_DATA_ANSI Request operation. In particular, instances should be created and released using this method, and members of this structure should not be changed directly.
There is one exception to the preceding rule: the EXT_TDOP_SET_FROM_TYPE_ID_AND_U64 and EXT_TDOP_SET_PTR_FROM_TYPE_ID_AND_U64 suboperations take a DEBUG_TYPED_DATA instance that is not manipulated using the Request method. These suboperations take a manually created instance with some members manually filled in.
Note Include WdbgExts.h before including DbgEng.h. Additionally, SymTagEnum is defined in DbgHelp.h (include DbgHelp.h).
DEBUG_REQUEST_EXT_TYPED_DATA_ANSI