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 |