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 les é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 d’événement contient un événement ou un code d’erreur. Pour obtenir les valeurs d’action d’notification possibles, consultez l’énumération EVT_SUBSCRIBE_NOTIFY_ACTION .
UserContext
Contexte que l’abonné a passé à la fonction EvtSubscribe .
Event
Handle à 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 de journal d’é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 retourne.
Si le paramètre Action est EvtSubscribeActionError, castez l’événement en DWORD pour accéder au code d’erreur Win32.
Valeur retournée
Le service ignore le code de retour que vous retournez.
Notes
Ce rappel empêche d’autres événements d’être remis à votre rappel, de sorte que votre implémentation soit aussi courte que possible.
Si le service rencontre une erreur lors de la configuration de l’abonnement, votre rappel ne reçoit aucune notification indiquant qu’une erreur s’est produite.
Si le paramètre Flagsd’EvtSubscribe inclut EvtSubscribeStrict, votre rappel reçoit une notification lorsque les enregistrements d’événements sont manquants. Dans ce cas, la valeur de l’événement 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
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 |