Функция WmiQueryTraceInformation (wdm.h)

Подпрограмма WmiQueryTraceInformation возвращает сведения о трассировке событий WMI.

Синтаксис

NTSTATUS WmiQueryTraceInformation(
  [in]            TRACE_INFORMATION_CLASS TraceInformationClass,
  [out]           PVOID                   TraceInformation,
  [in]            ULONG                   TraceInformationLength,
  [out, optional] PULONG                  RequiredLength,
  [in, optional]  PVOID                   Buffer
);

Параметры

[in] TraceInformationClass

Задает перечислитель TRACE_INFORMATION_CLASS , указывающий тип возвращаемых сведений о трассировки событий.

[out] TraceInformation

Указатель на выделенный вызывающим выходной буфер, в котором подпрограмма возвращает сведения трассировки событий, заданные TraceInformationClass.

[in] TraceInformationLength

Задает размер буфера TraceInformation (в байтах).

[out, optional] RequiredLength

Указатель на значение, возвращаемое подпрограммой, указывающее требуемый размер буфера TraceInformation в байтах. Вызывающий объект должен присвоить параметру RequiredLengthзначение NULL , если он не использует необходимые сведения о длине.

[in, optional] Buffer

Указатель на входные сведения, относящиеся к запросу, которые предоставляет вызывающий объект. Если сведения, предоставляемые вызывающим объектом, не требуются, вызывающий объект должен задать для buffer значение NULL.

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

Код возврата Описание
STATUS_SUCCESS
Успешное завершение
STATUS_INFO_LENGTH_MISMATCH
Размер буфера TraceInformation не равен требуемому размеру для указанной информации трассировки событий.
STATUS_INVALID_HANDLE
Дескриптор трассировки, заданный членом HistoricalContext буфера (PWNODE_HEADER)Buffer , недопустим.
STATUS_INVALID_INFO_CLASS
Указанный тип сведений трассировки событий недопустим.
STATUS_INVALID_PARAMETER
Недопустимое имя трассировки событий, поставляемое с запросом для возврата дескриптора трассировки по его имени.
STATUS_INVALID_PARAMETER_MIX
Вызывающий объект не предоставляет сведения, необходимые для указанной информации трассировки событий.
STATUS_MORE_ENTRIES
Буфер TraceInformation недостаточно велик для хранения массива всех допустимых дескрипторов трассировки событий.
STATUS_NOT_FOUND
Глобальное средство ведения журнала не найдено.

Комментарии

Для каждого типа сведений трассировки событий, указанных в TraceInformationClass, приведена следующая таблица:

  • Требования к входным данным
  • Сведения, возвращаемые WmiQueryTraceInformation в буфере TraceInformation
Значение TraceClassInformation Требования к входным данным Возвращаемые сведения
TraceIdClass TraceInformationLength равно значению sizeof(ULONG).

Размер буфера TraceInformation в байтах больше или равен значению sizeof(ULONG).

Элемент HistoricalContext (PWNODE_HEADER)Buffer указывает дескриптор трассировки событий.

*(PULONG)TraceInformation задает идентификатор средства ведения журнала дескриптора трассировки событий.
TraceHandleClass TraceInformationLength равно значению sizeof(TRACEHANDLE).

Размер буфера TraceInformation в байтах должен быть больше или равен значению sizeof(TRACEHANDLE).

*(PULONG)Для буфера задан идентификатор средства ведения журнала.

*(PTRACEHANDLE)TraceInformation имеет дескриптор трассировки событий для указанного средства ведения журнала. Если указанный идентификатор средства ведения журнала равен нулю, возвращается дескриптор трассировки событий для средства ведения журнала ядра.
TraceEnableFlagsClass TraceInformationLength больше или равно значению sizeof(ULONG).

Размер буфера TraceInformation в байтах должен быть больше или равен значению sizeof(ULONG).

Элемент HistoricalContext (PWNODE_HEADER)Buffer указывает дескриптор трассировки событий.

*(PULONG)TraceInformation имеет флаги включения, заданные для указанного дескриптора трассировки событий.
TraceEnableLevelClass TraceInformationLength задается больше или равно значению sizeof(ULONG).

Размер буфера TraceInformation в байтах должен быть больше или равен значению sizeof(ULONG).

Элемент HistoricalContext (PWNODE_HEADER)Buffer указывает дескриптор трассировки событий.

*(PULONG)TraceInformation имеет уровень для указанного дескриптора трассировки событий.
GlobalLoggerHandleClass TraceInformationLength равно значению sizeof(TRACEHANDLE).

Размер буфера TraceInformation в байтах должен быть больше или равен значению sizeof(TRACEHANDLE).

*(PTRACEHANDLE)TraceInformation имеет дескриптор трассировки событий для глобального средства ведения журнала.
EventLoggerHandleClass Только для внутреннего использования. Только для внутреннего использования.
AllLoggerHandlesClass TraceInformationLength имеет размер массива m значений TRACEHANDLE в байтах.

Размер буфера TraceInformation в байтах должен быть больше или равен значению (m*sizeof(TRACEHANDLE)).

Буфер TraceInformation содержит массив из n дескрипторов трассировки, где n — это минимум m, количество дескрипторов трассировки событий, предоставляемых вызывающим объектом, и количество допустимых дескрипторов трассировки событий. Подпрограмма возвращает состояние STATUS_MORE_ENTRIES, если буфер TraceInformation слишком мал для хранения всех дескрипторов трассировки.
TraceHandleByNameClass TraceInformationLength имеет значение sizeof(TRACEHANDLE).

Размер буфера TraceInformation в байтах должен быть больше или равен значению sizeof(TRACEHANDLE).

(PUNICODE_STRING) Buffer указывает понятное имя трассировки в формате Юникода.

*(PTRACEHANDLE)TraceInformation — это дескриптор трассировки событий, связанный с указанным понятным именем.
 

Если вызывающий объект предоставляет указатель RequiredLength, отличный от NULL, WmiQueryTraceInformation также возвращает необходимую длину для указанной информации трассировки событий.

WmiQueryTraceInformation выполняется в IRQL вызывающего объекта.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows XP и более поздних версиях Windows.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL См. раздел "Примечания".

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

IoWmiWriteEvent

TRACE_INFORMATION_CLASS

WmiFireEvent

WmiTraceMessage

WmiTraceMessageVa