次の方法で共有


IDebugControl3::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を呼び出しません。

戻り値

このメソッドは、エラー値を返す場合もあります。 詳細については、「 戻り値 」を参照してください。

リターン コード 説明
S_OK
メソッドは正常に実行されました。

注釈

非常に大きな出力文字列を生成する場合、デバッガー エンジンまたはオペレーティング システムの制限に達する可能性があります。 たとえば、デバッガー エンジンの一部のバージョンでは、1 つの出力に対して 16,000 文字の制限があります。 非常に大きな出力が切り捨てられていることが判明した場合は、出力を複数の要求に分割する必要がある場合があります。

要件

要件
対象プラットフォーム デスクトップ
Header dbgeng.h (Dbgeng.h、Stdarg.h を含む)

こちらもご覧ください

ControlledOutputVaList

IDebugControl

IDebugControl2

IDebugControl3

出力

dprintf