CloseTrace-Funktion (evntrace.h)
Die CloseTrace-Funktion schließt eine Ablaufverfolgungsverarbeitungssitzung, die mit OpenTrace erstellt wurde.
Syntax
ETW_APP_DECLSPEC_DEPRECATED ULONG WMIAPI CloseTrace(
[in] TRACEHANDLE TraceHandle
);
Parameter
[in] TraceHandle
Handle, um die Ablaufverfolgungsverarbeitungssitzung zu schließen. Die OpenTrace-Funktion gibt dieses Handle zurück.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird der Rückgabewert ERROR_SUCCESS.
Wenn die Funktion fehlschlägt, ist der Rückgabewert einer der Systemfehlercodes. Im Folgenden finden Sie einige häufige Fehler und deren Ursachen.
ERROR_INVALID_HANDLE
Es trifft eine der folgenden Bedingungen zu:
- TraceHandle ist 0.
- TraceHandle ist INVALID_PROCESSTRACE_HANDLE.
- TraceHandle ist kein gültiges Handle.
ERROR_BUSY
Vor Windows Vista können Sie die Ablaufverfolgung erst schließen, wenn die ProcessTrace-Funktion abgeschlossen ist.
ERROR_CTX_CLOSE_PENDING
Der Aufruf war erfolgreich. Die ProcessTrace-Funktion wird beendet, nachdem sie alle Echtzeitereignisse in ihren Puffern verarbeitet hat (sie empfängt keine neuen Ereignisse).
Hinweise
Consumer rufen diese Funktion auf, um ein von OpenTrace zurückgegebenes Ablaufverfolgungshandle zu schließen.
Wichtig
Verwenden Sie diese Funktion nicht, um das von StartTrace zurückgegebene Ablaufverfolgungshandle zu schließen.
Wenn Sie Ereignisse aus einer Protokolldatei verarbeiten, rufen Sie diese Funktion erst auf, nachdem die ProcessTrace-Funktion zurückgegeben wurde. Wenn Sie jedoch Echtzeitereignisse verarbeiten, können Sie diese Funktion aufrufen, bevor ProcessTrace zurückgegeben wird. (Eine weitere Möglichkeit zum Beenden der Ablaufverfolgungsverarbeitung besteht darin, FALSE von BufferCallback zurückzugeben.)
Wenn Sie diese Funktion aufrufen, bevor ProcessTrace zurückgegeben wird, gibt die CloseTrace-Funktion ERROR_CTX_CLOSE_PENDING zurück. Der ERROR_CTX_CLOSE_PENDING Code gibt an, dass der CloseTrace-Funktionsaufruf erfolgreich war. Die ProcessTrace-Funktion beendet die Verarbeitung von Ereignissen, nachdem sie alle zuvor in die Warteschlange gestellten Ereignisse verarbeitet hat (ProcessTrace empfängt keine neuen Ereignisse, nachdem Sie die CloseTrace-Funktion aufgerufen haben). Sie können die CloseTrace-Funktion über Ihren BufferCallback-, EventCallback- oder EventClassCallback-Rückruf aufrufen.
Vor Windows Vista: Sie können CloseTrace nur aufrufen, nachdem ProcessTrace zurückgegeben wurde.
Beispiele
Ein Beispiel, das CloseTrace verwendet, finden Sie unter Abrufen von Ereignisdaten mithilfe von TDH.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | evntrace.h |
Bibliothek | Sechost.lib unter Windows 8.1 und Windows Server 2012 R2; Advapi32.lib unter Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista und Windows XP |
DLL | Sechost.dll unter Windows 8.1 und Windows Server 2012 R2; Advapi32.dll unter Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista und Windows XP |