Compartilhar via


EVT_SUBSCRIBE_CALLBACK função de retorno de chamada (winevt.h)

Implemente esse retorno de chamada se você chamar a função EvtSubscribe para receber eventos que correspondam à sua consulta. O serviço chama o retorno de chamada quando os eventos que correspondem aos critérios de consulta são acionados.

Sintaxe

EVT_SUBSCRIBE_CALLBACK EvtSubscribeCallback;

DWORD EvtSubscribeCallback(
  EVT_SUBSCRIBE_NOTIFY_ACTION Action,
  PVOID UserContext,
  EVT_HANDLE Event
)
{...}

Parâmetros

Action

Determina se o parâmetro Event contém um evento ou um código de erro. Para obter possíveis valores de ação de notificação, consulte a enumeração EVT_SUBSCRIBE_NOTIFY_ACTION .

UserContext

O contexto que o assinante passou para a função EvtSubscribe .

Event

Um identificador para o evento. O identificador de evento só é válido durante a função de retorno de chamada. Você pode usar esse identificador com qualquer função de log de eventos que usa um identificador de evento (por exemplo, EvtRender ou EvtFormatMessage).

Não chame EvtClose para fechar esse identificador; o serviço fechará o identificador quando o retorno de chamada retornar.

Se o parâmetro Action for EvtSubscribeActionError, converta Event em um DWORD para acessar o código de erro Win32.

Retornar valor

O serviço ignora o código de retorno que você retorna.

Comentários

Esse retorno de chamada impedirá que outros eventos sejam entregues ao retorno de chamada, portanto, mantenha sua implementação o mais curta possível.

Se o serviço encontrar um erro ao configurar a assinatura, o retorno de chamada não receberá nenhuma notificação de que ocorreu um erro.

Se o parâmetro Flags de EvtSubscribe incluir EvtSubscribeStrict, o retorno de chamada receberá uma notificação quando os registros de evento estiverem ausentes. Nesse caso, o valor de Event será ERROR_EVT_QUERY_RESULT_STALE.

Para cancelar a assinatura, você deve fechar o identificador de assinatura que a função EvtSubscribe retorna.

Exemplos

Para obter um exemplo que implementa EVT_SUBSCRIBE_CALLBACK função de retorno de chamada, consulte Assinando eventos.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winevt.h

Confira também

EvtSubscribe