Поделиться через


функция обратного вызова 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. Для символов преобразования с плавающей запятой 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

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

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

Никакой

Замечания

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

Требования

Требование Ценность
целевая платформа Настольный
заголовка wdbgexts.h (include Wdbgexts.h, Dbgeng.h)