Condividi tramite


Configurazione e avvio di una sessione logger privata

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

La configurazione e l'avvio di una sessione privata è simile all'avvio di una normale sessione di traccia eventi. La differenza è che membro Wnode.Guid della struttura EVENT_TRACE_PROPERTIES deve contenere il GUID del provider, non la sessione e il provider deve aver 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, ambito, payload degli eventi e filtri di analisi dello stack possono essere utilizzati dalla funzione EnableTraceEx2 e dalle strutture ENABLE_TRACE_PARAMETERS e EVENT_FILTER_DESCRIPTOR per filtrare in base a condizioni specifiche in una sessione di registrazione. Per altre informazioni sui filtri del payload degli eventi, vedere le funzioni TdhCreatePayloadFiltere TdhAggregatePayloadFilters e le strutture ENABLE_TRACE_PARAMETERS, EVENT_FILTER_DESCRIPTORe PAYLOAD_FILTER_PREDICATE.

A partire da Windows 10 versione 1703, gli utenti con privilegi limitati possono ora avviare una sessione di logger privato nei processi avviati. Il provider non deve più essere registrato prima di abilitare o avviare la sessione privata, ovvero il provider è "pre-abilitato" simile al modo in cui i provider di sessioni non private sono. Esiste un limite di 8 logger privati a livello di sistema per un singolo processo. Per migliorare le prestazioni negli scenari tra processi, è consigliabile usare il filtro per le API di sessione (incluso ControlTrace, QueryTrace, StartTracee 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 di NT Kernel Logger, vedere Configurazione e avvio della sessione del logger del kernel NT.

Per informazioni dettagliate sull'avvio di una sessione logger globale, vedere Configurazione e avvio di una sessione 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 tracciamento degli 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