Funzione QueryTraceA (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 QueryTraceA(
CONTROLTRACE_ID TraceId,
LPCSTR InstanceName,
PEVENT_TRACE_PROPERTIES Properties
);
Parametri
TraceId
InstanceName
Nome della sessione di traccia eventi da eseguire query o NULL. È necessario specificare InstanceName se TraceHandle è 0.
Per specificare la sessione NT Kernel Logger, impostare InstanceName su KERNEL_LOGGER_NAME.
Properties
Puntatore a una struttura di EVENT_TRACE_PROPERTIES inizializzata.
È necessario impostare solo il membro Wnode.BufferSize della struttura EVENT_TRACE_PROPERTIES . È possibile usare il nome massimo della sessione (1024 caratteri) e il nome massimo del file di log (1024 caratteri) per calcolare le dimensioni del buffer e gli offset se non noti.
In 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 migliorare le prestazioni 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 informazioni di filtro. Per altre informazioni, vedere Configurazione e avvio di una sessione del logger privato .
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_BAD_LENGTH
Una delle seguenti condizioni è vera:
- Il membro Wnode.BufferSize di Proprietà 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 Utenti log prestazioni e i servizi in esecuzione come LocalSystem, LocalService, NetworkService possono eseguire query sulle sessioni di traccia degli eventi. Per concedere a un utente limitato la possibilità di eseguire query sulle sessioni di traccia, aggiungerle al gruppo Utenti log prestazioni 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 preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.
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 |