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 是虛擬記憶體位址,除非 Flags 中有旗標,指定 Offset 是實體記憶體位址。

EngineHandle

設定為零。

Data

轉換成ULONG64的數據。 如果 Flags 不包含DEBUG_TYPED_DATA_IS_IN_MEMORY旗標,則數據無法使用, 且 Data 設定為零。

Size

數據的大小,以位元組為單位。

Flags

描述數據所在目標記憶體的旗標。 您可以設定下列位旗標。

旗標 描述
DEBUG_TYPED_DATA_IS_IN_MEMORY 數據位於目標的記憶體中,而且可供使用。
DEBUG_TYPED_DATA_PHYSICAL_DEFAULT Offset 是實體記憶體位址, 而 Offset 的實體記憶體會使用預設記憶體快取。
DEBUG_TYPED_DATA_PHYSICAL_CACHED Offset 是實體記憶體位址,而 位移 的實體記憶體則會快取。
DEBUG_TYPED_DATA_PHYSICAL_UNCACHED Offset 是實體記憶體位址,且 位移 的實體記憶體未快取。
DEBUG_TYPED_DATA_PHYSICAL_WRITE_COMBINED Offset 是實體記憶體位址, 而 Offset 的實體記憶體會合併寫入。

TypeId

數據類型的類型識別碼。

BaseTypeId

針對產生的型別,數據型別所依據之型別的型別標識碼。 例如,如果具型別的數據代表指標 (或陣列 ) ,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 子作業會採用未使用 Request 方法操作的DEBUG_TYPED_DATA實例。 這些子作業會採用手動建立的實例,其中某些成員會手動填入。

注意 在包含 DbgEng.h 之前,請先包含 WdbgExts.h。 此外, SymTagEnum 定義於 DbgHelp.h (包含 DbgHelp.h) 。
 

規格需求

需求
標頭 wdbgexts.h (包含 WdbgExts.h)

另請參閱

DEBUG_REQUEST_EXT_TYPED_DATA_ANSI

要求