Partager via


EVT_SUBSCRIBE_CALLBACK fonction de rappel (winevt.h)

Implémentez ce rappel si vous appelez la fonction EvtSubscribe pour recevoir des événements qui correspondent à votre requête. Le service appelle votre rappel lorsque des événements qui correspondent à vos critères de requête sont déclenchés.

Syntaxe

EVT_SUBSCRIBE_CALLBACK EvtSubscribeCallback;

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

Paramètres

Action

Détermine si le paramètre Event contient un événement ou un code d’erreur. Pour connaître les valeurs d’action de notification possibles, consultez l’énumération EVT_SUBSCRIBE_NOTIFY_ACTION .

UserContext

Contexte que l’abonné a passé à la fonction EvtSubscribe .

Event

Handle de l’événement. Le handle d’événement n’est valide que pour la durée de la fonction de rappel. Vous pouvez utiliser ce handle avec n’importe quelle fonction du journal des événements qui prend un handle d’événement (par exemple, EvtRender ou EvtFormatMessage).

N’appelez pas EvtClose pour fermer ce handle ; le service ferme le handle lorsque le rappel est retourné.

Si le paramètre Action est EvtSubscribeActionError, cast Event en DWORD pour accéder au code d’erreur Win32.

Valeur retournée

Le service ignore le code de retour que vous retournez.

Remarques

Ce rappel empêche la remise d’autres événements à votre rappel. Par conséquent, gardez votre implémentation aussi courte que possible.

Si le service rencontre une erreur lors de la configuration de l’abonnement, votre rappel ne recevra aucune notification indiquant qu’une erreur s’est produite.

Si le paramètre Flagsd’EvtSubscribe inclut EvtSubscribeStrict, votre rappel reçoit une notification lorsque des enregistrements d’événements sont manquants. Dans ce cas, la valeur de Event est ERROR_EVT_QUERY_RESULT_STALE.

Pour annuler l’abonnement, vous devez fermer le handle d’abonnement retourné par la fonction EvtSubscribe .

Exemples

Pour obtenir un exemple qui implémente EVT_SUBSCRIBE_CALLBACK fonction de rappel, consultez Abonnement aux événements.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winevt.h

Voir aussi

EvtSubscribe