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)