TraceLoggingUnregister-Funktion (traceloggingprovider.h)
Hebt die Registrierung eines TraceLogging-Anbieters auf.
Syntax
void TraceLoggingUnregister(
TraceLoggingHProvider hProvider
);
Parameter
hProvider
Das Handle des TraceLogging-Anbieters zum Aufheben der Registrierung.
Rückgabewert
Keine
Bemerkungen
Wenn eine Komponente ausgeführt wird, befindet sich jedes TraceLogging-Anbieterhandle in der Komponente in einem nicht registrierten Zustand, und alle Versuche, das Handle des Anbieters zum Generieren von Ereignissen zu verwenden, werden unbeaufsichtigt ignoriert. Bevor der Anbieter Ereignisse schreiben kann, müssen Sie den Anbieter mithilfe von TraceLoggingRegister registrieren.
Dies geschieht in der Regel während des Komponentenstarts. Heben Sie beim Herunterfahren der Komponente die Registrierung des Anbieters auf, indem Sie TraceLoggingUnregister aufrufen, z. B. vor der Rückgabe von main
, wmain
oder WinMain
, in DllMain(DLL_PROCESS_DETACH)
, bevor Sie von einer fehlgeschlagenen DriverEntry
- oder in der Treiberentladungsroutine zurückkehren.
TraceLoggingRegister ist nicht threadsicher in Bezug auf andere Aufrufe von TraceLoggingRegister oder TraceLoggingUnregister für dasselbe Handle. Rufen Sie TraceLoggingRegister nicht auf, wenn es möglich ist, dass ein anderer Thread TraceLoggingRegister oder TraceLoggingUnregister für dasselbe Handle zur gleichen Zeit aufruft.
Wenn TraceLoggingRegister fehlschlägt, bleibt das Anbieterhandle nicht registriert, und alle Verwendungen des Anbieterhandles sind sichere No-Ops. Insbesondere ist es ein sicherer Nichtbetrieb, TraceLoggingWrite oder TraceLoggingUnregister mit einem nicht registrierten Anbieterhandle aufzurufen.
Wichtig
Wenn Ihre DLL oder Ihr Treiber ein Anbieterhandle aufruft TraceLoggingRegister
, muss sie dieses Anbieterhandle aufrufen TraceLoggingUnregister
, bevor die DLL oder der Treiber entladen wird. Wenn eine DLL entladen wird, ohne aufzurufen TraceLoggingUnregister
, kann der Prozess anschließend abstürzen. Wenn ein Treiber entladen wird, ohne zu rufen TraceLoggingUnregister
, kann das System anschließend abstürzen. Die TraceLoggingRegister
Funktion richtet einen ETW-Konfigurationsrückruf ein und TraceLoggingUnregister
bricht den Rückruf ab. Wenn der Rückruf nicht abgebrochen wird und das Modul entladen wird, tritt ein Absturz auf, wenn ETW das nächste Mal versucht, den Rückruf aufzurufen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [Desktop-Apps | UWP-Apps] |
Kopfzeile | traceloggingprovider.h |
Bibliothek | Advapi32.lib |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für