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


Метод 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

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

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

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

Возвращаемый код Описание
S_OK
Метод был успешным.

Замечания

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

Требования

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

См. также

ControlledOutputVaList

IDebugControl

IDebugControl2

IDebugControl3

выходных

dprintf