CloseTrace, fonction (evntrace.h)

La fonction CloseTrace ferme une session de traitement de trace créée avec OpenTrace.

Syntaxe

ETW_APP_DECLSPEC_DEPRECATED ULONG WMIAPI CloseTrace(
  [in] TRACEHANDLE TraceHandle
);

Paramètres

[in] TraceHandle

Gérez la session de traitement de trace à fermer. La fonction OpenTrace retourne ce handle.

Valeur retournée

Si la fonction réussit, la valeur de retour est ERROR_SUCCESS.

Si la fonction échoue, la valeur de retour est l’un des codes d’erreur système. Voici quelques erreurs courantes et leurs causes.

  • ERROR_INVALID_HANDLE

    Une des conditions suivantes est vraie :

    • TraceHandle a la valeur 0.
    • TraceHandle est INVALID_PROCESSTRACE_HANDLE.
    • TraceHandle n’est pas un handle valide.
  • ERROR_BUSY

    Avant Windows Vista, vous ne pouvez pas fermer la trace tant que la fonction ProcessTrace n’est pas terminée.

  • ERROR_CTX_CLOSE_PENDING

    L’appel a réussi. La fonction ProcessTrace s’arrête une fois qu’elle a traité tous les événements en temps réel dans ses mémoires tampons (elle ne recevra aucun nouvel événement).

Notes

Les consommateurs appellent cette fonction pour fermer un handle de trace retourné par OpenTrace.

Important

N’utilisez pas cette fonction pour fermer le handle de trace retourné par StartTrace.

Si vous traitez des événements à partir d’un fichier journal, vous appelez cette fonction uniquement après que la fonction ProcessTrace est retournée. Toutefois, si vous traitez des événements en temps réel, vous pouvez appeler cette fonction avant que ProcessTrace ne retourne. (Une autre façon d’arrêter le traitement des traces consiste à retourner FALSE à partir de BufferCallback.)

Si vous appelez cette fonction avant le retour de ProcessTrace , la fonction CloseTrace retourne ERROR_CTX_CLOSE_PENDING. Le code ERROR_CTX_CLOSE_PENDING indique que l’appel de la fonction CloseTrace a réussi ; La fonction ProcessTrace arrête le traitement des événements après avoir traité tous les événements précédemment mis en file d’attente (ProcessTrace ne recevra aucun nouvel événement après avoir appelé la fonction CloseTrace ). Vous pouvez appeler la fonction CloseTrace à partir de votre rappel BufferCallback, EventCallback ou EventClassCallback .

Avant Windows Vista : Vous pouvez appeler CloseTrace uniquement après le retour de ProcessTrace .

Exemples

Pour obtenir un exemple qui utilise CloseTrace, consultez Récupération de données d’événement à l’aide de TDH.

Spécifications

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête evntrace.h
Bibliothèque Sechost.lib sur Windows 8.1 et Windows Server 2012 R2 ; Advapi32.lib sur Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista et Windows XP
DLL Sechost.dll sur Windows 8.1 et Windows Server 2012 R2 ; Advapi32.dll sur Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista et Windows XP

Voir aussi

OpenTrace

ProcessTrace