Partager via


Fonction TraceLoggingUnregister (traceloggingprovider.h)

Annule l’inscription d’un fournisseur TraceLogging.

Syntaxe

void TraceLoggingUnregister(
  TraceLoggingHProvider hProvider
);

Paramètres

hProvider

Handle du fournisseur TraceLogging à désinscrire.

Valeur de retour

None

Remarques

Lorsqu’un composant commence à s’exécuter, tout handle de fournisseur TraceLogging dans le composant est dans un état non inscrit et toute tentative d’utilisation du handle du fournisseur pour générer des événements est ignorée en mode silencieux. Avant que le fournisseur puisse écrire des événements, vous devez inscrire le fournisseur à l’aide de TraceLoggingRegister. Vous le faites généralement au démarrage du composant. À l’arrêt du composant, annulez l’inscription du fournisseur en appelant TraceLoggingUnregister, par exemple avant de retourner à partir de main, wmainou WinMain, dans DllMain(DLL_PROCESS_DETACH), avant de retourner à partir d’un échec DriverEntry, ou dans la routine de déchargement du pilote.

TraceLoggingRegister n’est pas thread-safe en ce qui concerne les autres appels à TraceLoggingRegister ou TraceLoggingUnregister sur le même handle. N’appelez pas TraceLoggingRegister s’il est possible qu’un autre thread appelle TraceLoggingRegister ou TraceLoggingUnregister sur le même handle en même temps.

En cas d’échec de TraceLoggingRegister , le handle du fournisseur reste désinscrit et toutes les utilisations du handle du fournisseur seront sans risque. En particulier, il est impossible d’appeler TraceLoggingWrite ou TraceLoggingUnregister avec un handle de fournisseur non inscrit.

Important

Si votre DLL ou votre pilote appelle TraceLoggingRegister sur un handle de fournisseur, il doit appeler TraceLoggingUnregister ce handle de fournisseur avant que la DLL ou le pilote se décharge. Si une DLL se décharge sans appeler TraceLoggingUnregister, le processus peut se bloquer par la suite. Si un pilote se décharge sans appeler TraceLoggingUnregister, le système peut se bloquer par la suite. La TraceLoggingRegister fonction établit un rappel de configuration ETW et TraceLoggingUnregister annule le rappel. Si le rappel n’est pas annulé et que le module se décharge, un plantage se produit la prochaine fois qu’ETW tentera d’appeler le rappel.

Configuration requise

   
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
En-tête traceloggingprovider.h
Bibliothèque Advapi32.lib

Voir aussi

TraceLoggingRegister

EventUnregister