Condividi tramite


Funzione CreateTraceInstanceId (evntrace.h)

Un provider di eventi basato su RegisterTraceGuids ("classico") può usare la funzione CreateTraceInstanceId per creare un identificatore di transazione univoco e eseguirne il mapping a un handle di registrazione. Il provider usa quindi l'identificatore della transazione quando si chiama la funzione TraceEventInstance per contrassegnare gli eventi come appartenenti alla transazione specificata. L'identificatore della transazione può essere usato dagli strumenti di analisi di traccia per raggruppare gli eventi.

Sintassi

ULONG WMIAPI CreateTraceInstanceId(
  [in]  HANDLE               RegHandle,
  [out] PEVENT_INSTANCE_INFO InstInfo
);

Parametri

[in] RegHandle

Handle in una classe di traccia eventi registrata. La funzione RegisterTraceGuids restituisce questo handle nel membro RegHandle della struttura TRACE_GUID_REGISTRATION .

[out] InstInfo

Puntatore a una struttura EVENT_INSTANCE_INFO . Il membro InstanceId di questa struttura contiene l'identificatore della transazione.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è ERROR_SUCCESS.

Se la funzione ha esito negativo, il valore restituito è uno dei codici di errore di sistema. Di seguito sono riportati alcuni errori comuni e le relative cause.

  • ERROR_INVALID_PARAMETER

    Una delle seguenti condizioni è vera:

    • RegHandle è NULL.
    • pInstInfo è NULL.

Commenti

I provider basati su RegisterTraceGuids ("classico") chiamano questa funzione. Usare EventActivityIdControl per funzionalità simili con un provider EventRegister ("Crimson").

ETW crea l'identificatore nel processo in modalità utente, quindi potrebbe restituire lo stesso numero per istanze diverse in processi diversi. Il valore inizia quando 1InstanceId raggiunge il valore massimo per una ULONG. Solo i provider in modalità utente possono chiamare la funzione CreateTraceInstanceId (i driver non possono chiamare questa funzione).

Esempio

Per un esempio che usa CreateTraceInstanceId, vedere Traccia delle istanze degli eventi.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione evntrace.h
Libreria Advapi32.lib
DLL Advapi32.dll

Vedi anche

RegisterTraceGuids

TraceEventInstance