CreateTraceInstanceId-Funktion (evntrace.h)
Ein RegisterTraceGuids-basierter Ereignisanbieter ("Classic") kann die CreateTraceInstanceId-Funktion verwenden, um einen eindeutigen Transaktionsbezeichner zu erstellen und ihn einem Registrierungshandle zuzuordnen. Der Anbieter verwendet dann den Transaktionsbezeichner beim Aufrufen der TraceEventInstance-Funktion , um Ereignisse als zur angegebenen Transaktion gehören zu markieren. Der Transaktionsbezeichner kann von Ablaufverfolgungsanalysetools verwendet werden, um Ereignisse zu gruppieren.
Syntax
ULONG WMIAPI CreateTraceInstanceId(
[in] HANDLE RegHandle,
[out] PEVENT_INSTANCE_INFO InstInfo
);
Parameter
[in] RegHandle
Behandeln sie eine registrierte Ereignisablaufverfolgungsklasse. Die Funktion RegisterTraceGuids gibt dieses Handle im RegHandle-Member der TRACE_GUID_REGISTRATION-Struktur zurück.
[out] InstInfo
Zeiger auf eine EVENT_INSTANCE_INFO-Struktur . Das InstanceId-Element dieser Struktur enthält den Transaktionsbezeichner.
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 sind einige häufige Fehler und deren Ursachen aufgeführt.
ERROR_INVALID_PARAMETER
Es trifft eine der folgenden Bedingungen zu:
- RegHandle ist NULL.
- pInstInfo ist NULL.
Hinweise
RegisterTraceGuids-basierte Anbieter ("Classic") rufen diese Funktion auf. Verwenden Sie EventActivityIdControl für ähnliche Funktionen mit einem EventRegister-basierten Anbieter ("Crimson").
ETW erstellt den Bezeichner im Benutzermodusprozess, sodass er möglicherweise dieselbe Anzahl für verschiedene Instanzen in verschiedenen Prozessen zurückgibt. Der Wert beginnt von vorn, 1
wenn InstanceId den Maximalwert für eine ULONG erreicht. Nur Benutzermodusanbieter können die CreateTraceInstanceId-Funktion aufrufen (Treiber können diese Funktion nicht aufrufen).
Beispiele
Ein Beispiel, das CreateTraceInstanceId verwendet, finden Sie unter Ablaufverfolgungsereignisinstanzen.
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 | Advapi32.lib |
DLL | Advapi32.dll |