Funzione QueryTraceW (evntrace.h)
La funzione QueryTrace recupera le impostazioni delle proprietà e le statistiche di sessione per la sessione di traccia eventi specificata.
questa funzione è obsoleta. La funzione ControlTrace sostituisce questa funzione.
Sintassi
ULONG WMIAPI QueryTraceW(
CONTROLTRACE_ID TraceId,
LPCWSTR InstanceName,
PEVENT_TRACE_PROPERTIES Properties
);
Parametri
TraceId
InstanceName
Nome della sessione di traccia eventi su cui eseguire query o NULL. È necessario specificare InstanceName se TraceHandle è 0.
Per specificare la sessione Nt Kernel Logger, impostare InstanceNamesu KERNEL_LOGGER_NAME.
Properties
Puntatore a una struttura EVENT_TRACE_PROPERTIES inizializzata.
È sufficiente impostare il membro Wnode.BufferSize della struttura EVENT_TRACE_PROPERTIES . È possibile usare il nome massimo della sessione (1024 caratteri) e la lunghezza massima del nome file di log (1024 caratteri) per calcolare le dimensioni e gli offset del buffer, se non noti.
Nell'output, i membri della struttura contengono le impostazioni delle proprietà e le statistiche di sessione per la sessione di traccia eventi.
A partire da Windows 10, versione 1703: Per prestazioni migliori negli scenari tra processi, è ora possibile passare il filtro in QueryTrace per i logger privati a livello di sistema. Sarà necessario passare la nuova struttura EVENT_TRACE_PROPERTIES_V2 per includere le informazioni di filtro. Per altri dettagli, vedere Configurazione e avvio di una sessione di logger privato .
Valore restituito
Se la funzione ha esito positivo, il valore restituito viene 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_BAD_LENGTH
Una delle seguenti condizioni è vera:
- Il membro Wnode.BufferSize di Properties specifica una dimensione non corretta.
- Le proprietà non dispongono di spazio sufficiente allocato per contenere una copia del nome della sessione e del nome del file di log (se usato).
ERROR_INVALID_PARAMETER
Una delle seguenti condizioni è vera:
- Le proprietà sono NULL.
- InstanceName e TraceHandle sono entrambi NULL.
- InstanceName è NULL e TraceHandle non è un handle valido.
ERROR_ACCESS_DENIED
Solo gli utenti che eseguono con privilegi amministrativi elevati, gli utenti nel gruppo Performance Log Users e i servizi in esecuzione come LocalSystem, LocalService, NetworkService possono eseguire query sulle sessioni di traccia degli eventi. Per concedere a un utente con restrizioni la possibilità di eseguire query sulle sessioni di traccia, aggiungerle al gruppo Performance Log Users o vedere EventAccessControl.
Windows XP e Windows 2000: Chiunque può controllare una sessione di traccia.
ERROR_WMI_INSTANCE_NOT_FOUND
La sessione specificata non è in esecuzione.
Commenti
I controller di traccia eventi chiamano questa funzione.
questa funzione è obsoleta. Usare invece ControlTrace con ControlCode impostato su EVENT_TRACE_CONTROL_QUERY.
Nota
L'intestazione evntrace.h definisce QueryTrace come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [app desktop | App UWP] |
Server minimo supportato | Windows 2000 Server [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | evntrace.h |
Libreria | Advapi32.lib |
DLL | Advapi32.dll |