EVT_SUBSCRIBE_CALLBACK función de devolución de llamada (winevt.h)
Implemente esta devolución de llamada si llama a la función EvtSubscribe para recibir eventos que coincidan con la consulta. El servicio llama a la devolución de llamada cuando se generan eventos que coinciden con los criterios de consulta.
Sintaxis
EVT_SUBSCRIBE_CALLBACK EvtSubscribeCallback;
DWORD EvtSubscribeCallback(
EVT_SUBSCRIBE_NOTIFY_ACTION Action,
PVOID UserContext,
EVT_HANDLE Event
)
{...}
Parámetros
Action
Determina si el parámetro Event contiene un evento o un código de error. Para conocer los posibles valores de acción de notificación, consulte la enumeración EVT_SUBSCRIBE_NOTIFY_ACTION .
UserContext
Contexto que el suscriptor pasó a la función EvtSubscribe .
Event
Identificador del evento. El identificador de eventos solo es válido durante la duración de la función de devolución de llamada. Puede usar este identificador con cualquier función de registro de eventos que tome un identificador de eventos (por ejemplo, EvtRender o EvtFormatMessage).
No llame a EvtClose para cerrar este identificador; el servicio cerrará el identificador cuando se devuelva la devolución de llamada.
Si el parámetro Action es EvtSubscribeActionError, convierta Event en un DWORD para tener acceso al código de error de Win32.
Valor devuelto
El servicio omite el código de retorno que se devuelve.
Comentarios
Esta devolución de llamada impedirá que se entreguen otros eventos a la devolución de llamada, por lo que debe mantener la implementación lo más corta posible.
Si el servicio encuentra un error al configurar la suscripción, la devolución de llamada no recibirá ninguna notificación de que se produjo un error.
Si el parámetro Flags de EvtSubscribe incluye EvtSubscribeStrict, la devolución de llamada recibirá una notificación cuando falten registros de eventos. En este caso, el valor de Event será ERROR_EVT_QUERY_RESULT_STALE.
Para cancelar la suscripción, debe cerrar el identificador de suscripción que devuelve la función EvtSubscribe .
Ejemplos
Para obtener un ejemplo que implementa EVT_SUBSCRIBE_CALLBACK función de devolución de llamada, consulte Suscribirse a eventos.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winevt.h |