IDebugControl2::OutputVaList 方法 (dbgeng.h)
OutputVaList 方法會格式化字串,並將結果傳送至向引擎用戶端註冊的輸出回呼。
語法
HRESULT OutputVaList(
[in] ULONG Mask,
[in] PCSTR Format,
[in] va_list Args
);
參數
[in] Mask
指定輸出類型位欄位。 如需可能的值 ,請參閱DEBUG_OUTPUT_XXX 。
[in] Format
指定格式字串,如 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] Args
指定其他參數,表示格式化期間要插入輸出中的值。 Args 必須使用 va_start初始化。 這個方法不會呼叫 va_end。
傳回值
這個方法也可能傳回錯誤值。 如需詳細資訊,請參閱 傳回值 。
傳回碼 | 描述 |
---|---|
|
此方法成功。 |
備註
產生非常大的輸出字串時,可以達到調試程式引擎或操作系統的限制。 例如,某些版本的調試程式引擎具有單一輸出的 16K 字元限制。 如果您發現非常大的輸出遭到截斷,您可能需要將輸出分割成多個要求。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | dbgeng.h (include Dbgeng.h、Stdarg.h) |