EvtCancel, fonction (winevt.h)
Annule toutes les opérations en attente sur un handle.
Syntaxe
BOOL EvtCancel(
EVT_HANDLE Object
);
Paramètres
Object
Handle dont vous souhaitez annuler l’opération. Vous pouvez annuler les opérations suivantes :
Pour annuler les opérations EvtClearLog, EvtExportLog, EvtQuery et EvtSubscribe , vous devez passer le handle de session. Pour spécifier la session par défaut (session locale), définissez ce paramètre sur NULL.Valeur retournée
Code/valeur de retour | Description |
---|---|
|
La fonction a réussi. |
|
Échec de la fonction. Pour obtenir le code d’erreur, appelez la fonction GetLastError . |
Remarques
Utilisez cette fonction pour annuler des opérations de longue durée. Par exemple, l’appel de la fonction EvtNext peut théoriquement prendre beaucoup de temps en raison du filtrage de milliers d’enregistrements d’événements. L’appel d’EvtCancel empêcherait la fonction EvtNext de traiter d’autres enregistrements d’événements. Notez que la fonction peut ne pas être en mesure d’arrêter l’opération immédiatement.
Vous devez appeler la fonction EvtClose pour fermer le handle lorsque vous avez terminé.
La procédure suivante décrit comment annuler une opération de longue durée.
Pour annuler une opération de longue durée
- Le thread A appelle une opération de longue durée (par exemple, la fonction EvtSeek ).
- Le thread B souhaite annuler et fermer toutes les opérations, de sorte que le thread B appelle la fonction EvtCancel .
- Le thread B attend ensuite que tous les appels en attente se terminent (en synchronisant avec le thread A). Étant donné que la fonction EvtCancel a été appelée, le thread A doit se terminer peu après l’appel à l’EvtCancel .
- Une fois que le thread A a terminé l’opération (EvtSeek), le thread B peut fermer le handle de résultat de requête à l’aide de la fonction EvtClose .
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 |
Bibliothèque | Wevtapi.lib |
DLL | Wevtapi.dll |