PWINDBG_OUTPUT_ROUTINE回呼函式 (wdbgexts.h)
回呼函式會實作功能,將格式化字串列印至調試程式命令視窗。
wdbgexts.h 標頭會宣告會列印格式化字串的宏 dprintf 。 其運作方式就像 C 語言例程 列印f一樣。
語法
PWINDBG_OUTPUT_ROUTINE PwindbgOutputRoutine;
void PwindbgOutputRoutine(
[in] PCSTR lpFormat,
[in] ... unnamedParam2
)
{...}
參數
[in] lpFormat
指定格式字串,如 printf 所示。 一般而言,轉換字元的運作方式與 C 完全相同。如果是浮點轉換字元,除非使用 l 修飾詞,否則 64 位自變數會解譯為 32 位浮點數。
支援 %p 轉換字元,但它代表目標虛擬位址空間中的指標。 它可能沒有任何修飾詞,而且它使用調試程式的內部位址格式。 支援下列其他轉換字元:
字元 | 引數類型 | 引數 | 列印的文字 |
---|---|---|---|
%p | ULONG64 | 目標虛擬位址空間中的指標 | 指標的值。 |
%N | 視 主機 的架構而定,DWORD_PTR (32 或 64 位) | 主機虛擬位址空間中的指標 | 指標的值。 (這相當於標準 C %p 字元。) |
%I | ULONG64 | 任何 64 位值 | 指定值。 如果大於0xFFFFFFFF則會列印為64位位址,否則會列印為32位位址。 |
%ma | ULONG64 | 目標虛擬位址空間中 NULL 終止的 ASCII 字串位址 | 指定的字串。 |
%mu | ULONG64 | 目標虛擬位址空間中 NULL 終止的 Unicode 字串位址 | 指定的字串。 |
%msa | ULONG64 | 目標虛擬位址空間中ANSI_STRING結構的位址 | 指定的字串。 |
%msu | ULONG64 | 目標虛擬位址空間中UNICODE_STRING結構的位址 | 指定的字串。 |
%y | ULONG64 | 目標虛擬位址空間中的調試程式符號位址 | 字串,包含指定符號的名稱,如果有任何) ,則為 (和位移。 |
%ly | ULONG64 | 目標虛擬位址空間中的調試程式符號位址 | 字串,其中包含指定符號的名稱 (和位移,如果有任何) ,以及任何可用的源行資訊。 |
[in] unnamedParam2
[arguments] - 指定格式字串的自變數,如 printf 所示。 指定的自變數數目應該符合 FormatString 中的轉換字元數目。 每個自變數都是預設表達式評估工具所評估的運算式, (MASM 或 C++) 。 如需詳細資訊,請參閱 數值表達式語法。
傳回值
無
備註
產生非常大的輸出字串時,可能會達到調試程式引擎或操作系統的限制。 例如,某些版本的調試程式引擎具有單一輸出片段的 16K 字元限制。 如果您發現非常大的輸出遭到截斷,您可能需要將輸出分割成多個要求。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | wdbgexts.h (包含 Wdbgexts.h、Dbgeng.h) |