Función WmiQueryTraceInformation (wdm.h)

La rutina WmiQueryTraceInformation devuelve información sobre un seguimiento de eventos WMI.

Sintaxis

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

Parámetros

[in] TraceInformationClass

Especifica un enumerador de TRACE_INFORMATION_CLASS que indica el tipo de información que se va a devolver sobre un seguimiento de eventos.

[out] TraceInformation

Puntero a un búfer de salida asignado por el autor de la llamada donde la rutina devuelve la información de seguimiento de eventos especificada por TraceInformationClass.

[in] TraceInformationLength

Especifica el tamaño, en bytes, del búfer TraceInformation .

[out, optional] RequiredLength

Puntero al valor devuelto por la rutina que especifica el tamaño necesario, en bytes, del búfer TraceInformation . El autor de la llamada debe establecer RequiredLength en NULL si no usa la información de longitud necesaria.

[in, optional] Buffer

Puntero a la información de entrada específica de la consulta que proporciona un llamador. Si no se requiere información proporcionada por el autor de la llamada, el autor de la llamada debe establecer Buffer en NULL.

Valor devuelto

Código devuelto Descripción
STATUS_SUCCESS
Correcto
STATUS_INFO_LENGTH_MISMATCH
El tamaño del búfer TraceInformation no es igual al tamaño necesario para la información de seguimiento de eventos especificada.
STATUS_INVALID_HANDLE
El identificador de seguimiento especificado por el miembro HistoricalContext del búfer (PWNODE_HEADER)Buffer no es válido.
STATUS_INVALID_INFO_CLASS
El tipo especificado de información de seguimiento de eventos no es válido.
STATUS_INVALID_PARAMETER
El nombre del seguimiento de eventos, proporcionado con una consulta para devolver un identificador de seguimiento según su nombre, no es válido.
STATUS_INVALID_PARAMETER_MIX
El autor de la llamada no ha proporcionado la información necesaria para la información de seguimiento de eventos especificada.
STATUS_MORE_ENTRIES
El búfer TraceInformation no es lo suficientemente grande como para contener una matriz de todos los identificadores de seguimiento de eventos válidos.
STATUS_NOT_FOUND
No se encontró un registrador global.

Comentarios

Para cada tipo de información de seguimiento de eventos especificada por TraceInformationClass, la tabla siguiente proporciona:

  • Requisitos de entrada
  • Información que WmiQueryTraceInformation devuelve en el búfer TraceInformation
Valor de TraceClassInformation Requisitos de entrada Información devuelta
TraceIdClass TraceInformationLength es igual al valor de sizeof(ULONG).

El tamaño, en bytes del búfer TraceInformation es mayor o igual que el valor de sizeof(ULONG).

El miembro HistoricalContext de (PWNODE_HEADER)Buffer especifica un identificador de seguimiento de eventos.

*(PULONG)TraceInformation se establece en el identificador del registrador del identificador del seguimiento de eventos.
TraceHandleClass TraceInformationLength es igual al valor de sizeof(TRACEHANDLE).

El tamaño, en bytes del búfer TraceInformation debe ser mayor o igual que el valor de sizeof(TRACEHANDLE).

*(PULONG)Buffer se establece en un identificador de registrador.

*(PTRACEHANDLE)TraceInformation se establece en un identificador de seguimiento de eventos para el registrador especificado. Si el identificador del registrador especificado es cero, se devuelve un identificador de seguimiento de eventos para el registrador del kernel.
TraceEnableFlagsClass TraceInformationLength es mayor o igual que el valor de sizeof(ULONG).

El tamaño, en bytes del búfer TraceInformation debe ser mayor o igual que el valor de sizeof(ULONG).

El miembro HistoricalContext de (PWNODE_HEADER)Buffer especifica un identificador de seguimiento de eventos.

*(PULONG)TraceInformation se establece en las marcas de habilitación establecidas para el identificador de seguimiento de eventos especificado.
TraceEnableLevelClass TraceInformationLength se establece mayor o igual que el valor de sizeof(ULONG).

El tamaño, en bytes del búfer TraceInformation debe ser mayor o igual que el valor de sizeof(ULONG).

El miembro HistoricalContext de (PWNODE_HEADER)Buffer especifica un identificador de seguimiento de eventos.

*(PULONG)TraceInformation se establece en el nivel del identificador de seguimiento de eventos especificado.
GlobalLoggerHandleClass TraceInformationLength es igual al valor de sizeof(TRACEHANDLE).

El tamaño, en bytes del búfer TraceInformation debe ser mayor o igual que el valor de sizeof(TRACEHANDLE).

*(PTRACEHANDLE)TraceInformation se establece en un identificador de seguimiento de eventos para el registrador global.
EventLoggerHandleClass Sólo para uso interno. Sólo para uso interno.
AllLoggerHandlesClass TraceInformationLength se establece en el tamaño, bytes, de una matriz de valores TRACEHANDLE m .

El tamaño, en bytes del búfer TraceInformation debe ser mayor o igual que el valor de (m*sizeof(TRACEHANDLE)).

El búfer TraceInformation contiene una matriz de n identificadores de seguimiento, donde n es el mínimo de m, el número de identificadores de seguimiento de eventos proporcionados por el autor de la llamada y el número de identificadores de seguimiento de eventos válidos. La rutina devuelve un estado de STATUS_MORE_ENTRIES si el búfer TraceInformation es demasiado pequeño para contener todos los identificadores de seguimiento.
TraceHandleByNameClass TraceInformationLength se establece en el valor de sizeof(TRACEHANDLE).

El tamaño, en bytes, del búfer TraceInformation debe ser mayor o igual que el valor de sizeof(TRACEHANDLE).

(PUNICODE_STRING) Buffer especifica un nombre de seguimiento descriptivo en formato Unicode.

*(PTRACEHANDLE)TraceInformation se establece en el identificador de seguimiento de eventos asociado al nombre descriptivo especificado.
 

Si el autor de la llamada proporciona un puntero RequiredLength distinto de NULL, WmiQueryTraceInformation también devuelve la longitud necesaria para la información de seguimiento de eventos especificada.

WmiQueryTraceInformation se ejecuta en irQL del autor de la llamada.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows XP y versiones posteriores de Windows.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL vea la sección Comentarios.

Consulte también

IoWmiWriteEvent

TRACE_INFORMATION_CLASS

WmiFireEvent

WmiTraceMessage

WmiTraceMessageVa