Condividi tramite


Funzione StopTraceW (evntrace.h)

La funzione StopTrace arresta la sessione di traccia eventi specificata.

questa funzione è obsoleta. La funzione ControlTrace sostituisce questa funzione.

Sintassi

ULONG WMIAPI StopTraceW(
  CONTROLTRACE_ID         TraceId,
  LPCWSTR                 InstanceName,
  PEVENT_TRACE_PROPERTIES Properties
);

Parametri

TraceId

InstanceName

Nome della sessione di traccia eventi da arrestare 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 EVENT_TRACE_PROPERTIES che riceve le proprietà e le statistiche finali per la sessione.

Se si usa una struttura appena inizializzata, è necessario impostare solo i membri Wnode.BufferSize, Wnode.Guid, LoggerNameOffset e LogFileNameOffset della struttura. È 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.

A partire da Windows 10 versione 1703: Per migliorare le prestazioni negli scenari tra processi, è ora possibile passare il filtro in StopTrace per i loggger 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 con privilegi amministrativi, gli utenti nel gruppo Utenti log prestazioni e i servizi in esecuzione come LocalSystem, LocalService, NetworkService possono controllare le sessioni di traccia degli eventi. Per concedere a un utente limitato la possibilità di controllare le sessioni di traccia, aggiungerle al gruppo Utenti log prestazioni.

    Windows XP e Windows 2000: Chiunque può controllare una sessione di traccia.

Commenti

I controller di traccia eventi chiamano questa funzione.

questa funzione è obsoleta. Usare invece ControlTrace con ControlCode impostato su EVENT_TRACE_CONTROL_STOP.

Se LogFileMode contiene EVENT_TRACE_FILE_MODE_PREALLOCATE, StartTrace estende il file di log a byte MaximumFileSize . Il file occupa l'intero spazio durante la registrazione, sia per i log circolari che sequenziali. Quando si arresta il logger, il file di log viene ridotto alle dimensioni necessarie.

Non chiamare StopTrace da DllMain (potrebbe causare deadlock).

Nota

L'intestazione evntrace.h definisce StopTrace 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 Sechost.lib in Windows 8.1 e Windows Server 2012 R2; Advapi32.lib in Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista e Windows XP
DLL Sechost.dll in Windows 8.1 e Windows Server 2012 R2; Advapi32.dll in Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista e Windows XP

Vedi anche

ControlTrace

StartTrace