Configurazione e avvio di una sessione di logger privato

Una sessione di traccia eventi privata è una sessione di traccia eventi in modalità utente che viene eseguita nello stesso processo dei provider di traccia eventi, ovvero la sessione privata e i provider che abilita devono essere tutti nello stesso processo. Il vantaggio dell'uso di una sessione privata è che la sessione privata non viene conteggiato rispetto al massimo di 64 sessioni di traccia eventi in esecuzione simultaneamente.

La configurazione e l'avvio di una sessione privata è simile all'avvio di una normale sessione di traccia eventi. La differenza è che il membro Wnode.Guid della struttura EVENT_TRACE_PROPERTIES deve contenere il GUID del provider, non la sessione e il provider deve avere già registrato il GUID . Si noti che se si imposta anche la modalità di registrazione EVENT_TRACE_PRIVATE_IN_PROC, è possibile usare un GUID diverso per la sessione e il provider. Per informazioni dettagliate sull'avvio di una normale sessione di traccia eventi, vedere Configurazione e avvio di una sessione di traccia eventi.

Si noti che non è possibile avviare, arrestare o scaricare una sessione di traccia privata da DllMain; è consigliabile eseguire questa operazione nelle routine di inizializzazione e finalizzazione della DLL.

Da Windows 8.1 a Windows 10, versione 1607, payload degli eventi, ambito e filtri di procedura dettagliata dello stack possono essere usati dalla funzione EnableTraceEx2 e dalle strutture ENABLE_TRACE_PARAMETERS e EVENT_FILTER_DESCRIPTOR per filtrare in condizioni specifiche in una sessione di logger. Per altre informazioni sui filtri del payload degli eventi, vedere le funzioni TdhCreatePayloadFilter e TdhAggregatePayloadFilters e le funzioni ENABLE_TRACE_PARAMETERS, EVENT_FILTER_DESCRIPTOR e PAYLOAD_FILTER_PREDICATE .

A partire da Windows 10, versione 1703, gli utenti con privilegi limitati possono ora avviare una sessione di logger privata nei processi avviati. Il provider non deve più essere registrato prima di abilitare o avviare la sessione privata, il che significa che il provider è "pre-abilitato" simile al modo in cui i provider di sessioni non privati sono. Esiste un limite di 8 loggger privati a livello di sistema a un singolo processo. Per aumentare le prestazioni negli scenari tra processi, è consigliabile usare il filtro per le API sessione (tra cui ControlTrace, QueryTrace, StartTrace e StopTrace) quando si avvia un logger privato a livello di sistema. Si noti che gli stessi filtri devono essere passati a tutte le API di sessione. Per altre informazioni sui filtri, vedere EVENT_TRACE_PROPERTIES_V2.

Per informazioni dettagliate sull'avvio di una sessione di traccia eventi, vedere Configurazione e avvio di una sessione di traccia eventi.

Per informazioni dettagliate sull'avvio di una sessione nt kernel Logger, vedere Configurazione e avvio della sessione del logger del kernel NT.

Per informazioni dettagliate sull'avvio di una sessione di Logger globale, vedere Configurazione e avvio di una sessione di logger globale.

Per informazioni dettagliate sull'avvio di una sessione autoLogger, vedere Configurazione e avvio di una sessione autoLogger.

Configurazione e avvio di una sessione SystemTraceProvider

Configurazione e avvio di una sessione autoLogger

Configurazione e avvio di una sessione di traccia eventi

Configurazione e avvio della sessione del logger del kernel NT

EnableTraceEx2

ENABLE_TRACE_PARAMETERS

EVENT_TRACE_PROPERTIES

EVENT_TRACE_PROPERTIES_V2

EVENT_FILTER_DESCRIPTOR

PAYLOAD_FILTER_PREDICATE

TdhAggregatePayloadFilters

TdhCreatePayloadFilter

Aggiornamento di una sessione di traccia eventi