функция обратного вызова PWINDBG_OUTPUT_ROUTINE (wdbgexts.h)

Функция обратного вызова реализует функцию печати форматируемой строки в окне Команда отладчика.

Заголовок wdbgexts.h объявляет макрос dprintf , который выводит форматированную строку. Он работает так же, как обычная печать на языке C.

Синтаксис

PWINDBG_OUTPUT_ROUTINE PwindbgOutputRoutine;

void PwindbgOutputRoutine(
  [in] PCSTR lpFormat,
  [in] ... unnamedParam2
)
{...}

Параметры

[in] lpFormat

Задает строку формата, как в printf. Как правило, символы преобразования работают точно так же, как в C. Для символов преобразования с плавающей запятой 64-разрядный аргумент интерпретируется как 32-битовое число с плавающей запятой, если не используется модификатор l .

Символ преобразования %p поддерживается, но он представляет указатель в виртуальном адресном пространстве целевого объекта. Он может не иметь модификаторов и использует внутреннее форматирование отладчика. Поддерживаются следующие дополнительные символы преобразования:

Знак Тип аргумента Аргумент Печатный текст
%p ULONG64 Указатель в виртуальном адресном пространстве целевого объекта Значение указателя.
%N DWORD_PTR (32 или 64 бита в зависимости от архитектуры узла ) Указатель в виртуальном адресном пространстве узла Значение указателя. (Это эквивалентно стандартному символу C %p .)
%I ULONG64 Любое 64-разрядное значение Указанное значение. Если значение больше 0xFFFFFFFF оно выводится в виде 64-разрядного адреса, в противном случае — в виде 32-разрядного адреса.
%ma ULONG64 Адрес строки ASCII, завершаемой null, в виртуальном адресном пространстве целевого объекта Указанная строка.
%mu ULONG64 Адрес строки Юникода, завершаемой значением NULL, в виртуальном адресном пространстве целевого объекта Указанная строка.
%msa ULONG64 Адрес структуры ANSI_STRING в виртуальном адресном пространстве целевого объекта Указанная строка.
%msu ULONG64 Адрес структуры UNICODE_STRING в виртуальном адресном пространстве целевого объекта Указанная строка.
%y ULONG64 Адрес символа отладчика в виртуальном адресном пространстве целевого объекта Строка, содержащая имя указанного символа (и смещение, если оно есть).
%ly ULONG64 Адрес символа отладчика в виртуальном адресном пространстве целевого объекта Строка, содержащая имя указанного символа (и смещение, если таковое имеется), а также любые доступные сведения об исходной строке.

[in] unnamedParam2

[arguments] — задает аргументы для строки формата, как в printf. Число указанных аргументов должно соответствовать количеству символов преобразования в FormatString. Каждый аргумент является выражением, которое будет вычисляться вычислителем выражений по умолчанию (MASM или C++). Дополнительные сведения см. в разделе Синтаксис числовых выражений.

Возвращаемое значение

None

Remarks

При создании очень больших выходных строк возможны ограничения подсистемы отладчика или операционной системы. Например, некоторые версии подсистемы отладчика имеют ограничение в 16 КБ символов для одного фрагмента выходных данных. Если вы обнаружите, что очень большие выходные данные усекаются, может потребоваться разделить выходные данные на несколько запросов.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть wdbgexts.h (включая Wdbgexts.h, Dbgeng.h)