(dbgeng.h) IDebugControl::OutputVaList 方法

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

傳回值

這個方法也可能傳回錯誤值。 如需詳細資訊,請參閱 傳回值

傳回碼 描述
S_OK
此方法成功。

備註

產生非常大的輸出字串時,可能會達到調試程式引擎或操作系統的限制。 例如,某些版本的調試程式引擎具有單一輸出的 16K 字元限制。 如果您發現非常大型的輸出遭到截斷,您可能需要將輸出分割成多個要求。

規格需求

需求
目標平台 桌面
標頭 dbgeng.h (包括 Dbgeng.h、Stdarg.h)

另請參閱

ControlledOutputVaList

IDebugControl

IDebugControl2

IDebugControl3

輸出

dprintf