Condividi tramite


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

Vedi anche

ControlTrace

QueryAllTraces