引擎會呼叫 ExtKnownStructMethod 回呼方法,將結構實例格式化為單一行的輸出。
語法
ExtExtension::* ExtKnownStructMethod Extextension::*Extknownstructmethod;
void Extextension::*Extknownstructmethod(
[in] PCSTR TypeName,
[in] ULONG Flags,
[in] ULONG64 Offset
)
{...}
參數
[in] TypeName
指定 Offset 所指向之結構類型的名稱。 這與用來註冊這個回呼方法之 ExtKnownStruct 結構的 TypeName 字段相同。
[in] Flags
指定位旗標,指出應該如何格式化輸出。 目前,這會設定為 DEBUG_KNOWN_STRUCT_GET_SINGLE_LINE_OUTPUT,這表示輸出應該格式化為單一行的輸出。
[in] Offset
指定要格式化輸出之 結構實例之目標記憶體中的位置。
返回值
沒有
備註
調試程式引擎預期輸出會格式化為在單一行上列印,因此不會預期格式化的結構會有任何換行符。
這個方法的格式化輸出應該放在緩衝區 中m_AppendBuffer -- ExtExtension 的成員。
這個回呼方法的實例會使用 Initialize 方法放入陣列的 ExtKnownStruct 結構的實例,向引擎註冊m_KnownStructs(ExtExtension 的成員)。 ExtKnownStruct 結構也會指定這個方法格式之結構類型的名稱。
當調試程式引擎呼叫已知的結構方法時,它會將呼叫包裝在 try / except 區塊中。 這可保護引擎免於延伸模組程序代碼中的某些錯誤類型;但是,因為擴充功能呼叫是在與引擎相同的線程中執行,所以它們仍然可能會導致它當機。
需求
| 要求 | 價值 |
|---|---|
| 目標平臺 | 桌面 |
| 標題 | engextcpp.hpp (包括 Engextcpp.hpp) |