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


Функция 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

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

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

Возвращаемый код Описание
STATUS_SUCCESS
Успех
STATUS_INFO_LENGTH_MISMATCH
Размер буфера трассировки TraceInformation не равен требуемому размеру указанной информации трассировки событий.
STATUS_INVALID_HANDLE
Дескриптор трассировки, указанный элементом буфера PWNODE_HEADER HistoricalContext, является недопустимым.
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) задает дескриптор трассировки событий.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно в Windows XP и более поздних версиях Windows.
целевая платформа Всеобщий
заголовка wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL См. раздел "Примечания".

См. также

IoWmiWriteEvent

TRACE_INFORMATION_CLASS

WmiFireEvent

WmiTraceMessage

WmiTraceMessageVa