Метод 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. Для символов преобразования с плавающей запятой 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] Args

Указывает дополнительные параметры, представляющие значения, которые будут вставлены в выходные данные во время форматирования. Аргументы необходимо инициализировать с помощью va_start. Этот метод не вызывает va_end.

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

Этот метод также может возвращать значения ошибок. Дополнительные сведения см. в разделе Возвращаемые значения .

Код возврата Описание
S_OK
Метод выполнен успешно.

Комментарии

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

Требования

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

См. также раздел

ControlledOutputVaList

IDebugControl

IDebugControl2

IDebugControl3

Выходные данные

dprintf