Freigeben über


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

Weitere Informationen

OpenTrace

ProcessTrace