Функция WmiTraceMessageVa (wdm.h)
Подпрограмма WmiTraceMessageVa добавляет сообщение в журнал выходных данных сеанса трассировки программного обеспечения WPP .
Синтаксис
NTSTATUS WmiTraceMessageVa(
[in] TRACELOGGER_HANDLE LoggerHandle,
[in] ULONG MessageFlags,
[in] LPCGUID MessageGuid,
[in] USHORT MessageNumber,
[in] va_list MessageArgList
);
Параметры
[in] LoggerHandle
Указывает дескриптор трассировки для сеанса трассировки программного обеспечения.
[in] MessageFlags
Задает побитовую ИЛИ одного или нескольких флагов сообщения. Подробные сведения см. в разделе "Заметки".
[in] MessageGuid
Указывает GUID, идентифицирующий класс трассировки программного обеспечения.
[in] MessageNumber
Определяет подтип сообщения. Значение подтипов зависит от класса трассировки программного обеспечения и поставщика.
[in] MessageArgList
Предоставляет обязательный список параметров сообщения, определяющих набор частей сообщения. Параметры организованы в виде последовательности пар параметров, где каждая пара задает одну часть полного сообщения. Каждая пара параметров состоит из указателя PVOID на данные, за которым сразу же следует значение ULONG, указывающее длину данных. Список параметров должен быть завершен указателем NULL PVOID, за которым следует ULONG(0).
Возвращаемое значение
WmiTraceMessageVa возвращает одно из следующих значений:
Код возврата | Описание |
---|---|
|
Операция выполнена успешно. |
|
LoggerHandle не является допустимым маркером трассировки программного обеспечения. |
|
Недостаточно буферной памяти для записи сообщения в журнал. Дополнительные сведения см. в разделе "Примечания". |
|
Внутренняя ошибка. |
Комментарии
Вызывающий объект может использовать WmiTraceMessage или WmiTraceMessageVa для добавления сообщения в журнал выходных данных сеанса трассировки программного обеспечения WPP. WmiTraceMessage упрощает код вызывающего абонента, обрабатывая механизм списка переменных перед вызовом WmiTraceMessageVa.
Вызывающий объект может задать следующие флаги сообщений:
Flag | Описание |
---|---|
TRACE_MESSAGE_SEQUENCE | Включите порядковый номер в сообщение. Виртуализацию сообщений можно использовать, только если она включена для сеанса трассировки программного обеспечения, заданного LoggerHandle. |
TRACE_MESSAGE_GUID | MessageGuid задает GUID, который идентифицирует класс трассировки программного обеспечения. Этот флаг должен быть установлен. |
TRACE_MESSAGE_TIMESTAMP | Включите метку времени в сообщение. |
TRACE_MESSAGE_PERFORMANCE_TIMESTAMP | Этот флаг не реализован и устарел. Его не следует использовать. |
TRACE_MESSAGE_SYSTEMINFO | Включите идентификатор потока (TID) и идентификатор процесса (PID) в сообщение. |
WmiTraceMessageVa не регистрирует сообщение, если выполняется одно из следующих действий:
- Общий размер данных сообщения и заголовка сообщения в байтах больше размера отдельных буферов сообщений, выделенных для сеанса трассировки программного обеспечения. (Максимальный размер заголовка сообщения — 48 байт.)
- Все буферы сообщений, выделенные для сеанса трассировки программного обеспечения, заполнены.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows XP и более поздних версиях Windows. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | См. раздел "Примечания". |