Función de devolución de llamada WMIDPREQUEST (evntrace.h)

Un proveedor de eventos basado en RegisterTraceGuids ("clásico") implementa esta función para recibir solicitudes de notificación de habilitación o deshabilitación de controladores.

El tipo WMIDPREQUEST define un puntero a esta función de devolución de llamada. ControlCallback es un marcador de posición para el nombre de función definido por la aplicación.

Sintaxis

WMIDPREQUEST Wmidprequest;

ULONG Wmidprequest(
  [in] WMIDPREQUESTCODE RequestCode,
       PVOID RequestContext,
       ULONG *BufferSize,
  [in] PVOID Buffer
)
{...}

Parámetros

[in] RequestCode

Código de solicitud. Este será uno de los siguientes valores.

Valor Significado
WMI_ENABLE_EVENTS Habilita el proveedor o cambia la configuración del proveedor.
WMI_DISABLE_EVENTS Deshabilita el proveedor.

RequestContext

Contexto definido por el proveedor. El proveedor usa el parámetro RequestContext de
RegisterTraceGuids para especificar el contexto.

BufferSize

Reservado para uso interno.

[in] Buffer

Puntero a una estructura de WNODE_HEADER que contiene información sobre la sesión de seguimiento de eventos para la que el proveedor está habilitado o deshabilitado.

Valor devuelto

Debe devolver ERROR_SUCCESS si la devolución de llamada se realiza correctamente. Tenga en cuenta que ETW omite el valor devuelto de esta función, excepto cuando un controlador llama a EnableTrace para habilitar un proveedor y el proveedor aún no ha llamado a RegisterTraceGuids. Cuando esto ocurre, RegisterTraceGuids devolverá el valor devuelto de esta devolución de llamada si el registro se realizó correctamente.

Comentarios

Esta función se especifica mediante la función RegisterTraceGuids . Cuando el controlador llama a la función EnableTrace para habilitar, deshabilitar o cambiar las marcas o el nivel de habilitación, ETW llama a esta devolución de llamada. El proveedor habilita o deshabilita en función del valor RequestCode . Normalmente, el proveedor usa este valor para establecer una marca global para indicar su estado habilitado.

El proveedor define su interpretación de la habilitación o deshabilitación. Por lo general, si un proveedor está habilitado, genera eventos, pero mientras está deshabilitado, no lo hace.

ETW no pasa las marcas de habilitación y habilita el nivel que el controlador pasa a la función EnableTrace a esta devolución de llamada. Para recuperar esta información, llame a las funciones GetTraceEnableFlags y GetTraceEnableLevel , respectivamente.

También debe recuperar el identificador de sesión en esta devolución de llamada para futuras llamadas. Para recuperar el identificador de sesión, llame a la función GetTraceLoggerHandle .

La función de devolución de llamada no debe llamar a nada que pueda incurrir en LoadLibrary (más concretamente, todo lo que requiera un bloqueo del cargador).

Ejemplos

Para obtener un ejemplo de implementación de una función ControlCallback , consulte Escritura de eventos clásicos.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado evntrace.h

Consulte también

EnableTrace

GetTraceEnableFlags

GetTraceEnableLevel

GetTraceLoggerHandle

RegisterTraceGuids

WNODE_HEADER