PWINDBG_OUTPUT_ROUTINE コールバック関数 (wdbgexts.h)
コールバック関数は、書式設定された文字列をデバッガー コマンド ウィンドウに出力する機能を実装します。
wdbgexts.h ヘッダーは、書式設定された文字列を出力する dprintf マクロを宣言します。 これは、C言語ルーチン printfのように動作します。
構文
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 ビット値 | 指定した値。 これが 64 ビット アドレスとして出力0xFFFFFFFFより大きい場合は、それ以外の場合は 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++) によって評価される式です。 詳細については、「数値式構文 」を参照してください。
戻り値
何一つ
備考
非常に大きな出力文字列を生成する場合、デバッガー エンジンまたはオペレーティング システムの制限に達する可能性があります。 たとえば、デバッガー エンジンの一部のバージョンでは、1 つの出力に対して 16,000 文字の制限があります。 非常に大きな出力が切り捨てられている場合は、出力を複数の要求に分割する必要があります。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | wdbgexts.h (Wdbgexts.h、Dbgeng.h を含む) |