Freigeben über


SetTraceCallback-Funktion (evntrace.h)

Wichtig

Verwenden Sie diese Funktion nicht. In nachfolgenden Versionen ist sie möglicherweise nicht verfügbar. Filtern Sie stattdessen nach der Ereignisablaufverfolgungsklasse in Ihrer EventRecordCallback-Funktion .

Die SetTraceCallback-Funktion gibt eine EventCallback-Funktion zum Verarbeiten von Ereignissen für die angegebene Ereignisablaufverfolgungsklasse an.

Syntax

ULONG WMIAPI SetTraceCallback(
  [in] LPCGUID         pGuid,
  [in] PEVENT_CALLBACK EventCallback
);

Parameter

[in] pGuid

Zeiger auf die Klassen-GUID einer Ereignisablaufverfolgungsklasse, für die Sie Ereignisse empfangen möchten. Eine Liste der GUIDs der Kernelanbieterklasse finden Sie unter NT-Kernelprotokollierungskonstanten.

[in] EventCallback

Zeiger auf eine EventCallback-Funktion , die zum Verarbeiten von Ereignissen verwendet wird, die zur Ereignisablaufverfolgungsklasse gehören.

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_PARAMETER

    Es trifft eine der folgenden Bedingungen zu:

    • pGuid ist NULL.
    • EventCallback ist NULL.

Hinweise

Consumer rufen diese Funktion auf.

Sie können nur eine Rückruffunktion für eine Ereignisablaufverfolgungsklasse angeben. Wenn Sie mehr als eine Rückruffunktion für die Ereignisablaufverfolgungsklasse angeben, empfängt die letzte Rückruffunktion die Ereignisse für diese Ereignisablaufverfolgungsklasse.

Um zu verhindern, dass die Rückruffunktion Ereignisse für die Ereignisablaufverfolgungsklasse empfängt, rufen Sie die RemoveTraceCallback-Funktion auf. Der Rückruf beendet automatisch den Empfang von Rückrufen, wenn Sie die Ablaufverfolgung schließen.

Sie können diese Funktion verwenden, um Ereignisse zu empfangen, die mit einer der TraceEvent-Funktionen geschrieben wurden. Sie können diese Funktion nicht verwenden, um Ereignisse von einem Anbieter zu nutzen, der eine der EventWrite-Funktionen zum Protokollieren von Ereignissen verwendet hat.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile evntrace.h
Bibliothek Sechost.lib auf 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 auf 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

EventCallback

ProcessTrace

RemoveTraceCallback