Condividi tramite


Funzione TraceLoggingUnregister (traceloggingprovider.h)

Annulla la registrazione di un provider TraceLogging.

Sintassi

void TraceLoggingUnregister(
  TraceLoggingHProvider hProvider
);

Parametri

hProvider

Handle del provider TraceLogging per annullare la registrazione.

Valore restituito

nessuno

Osservazioni

Quando un componente viene avviato in esecuzione, qualsiasi handle del provider TraceLogging nel componente verrà ignorato in modo non registrato e tutti i tentativi di usare l'handle del provider per generare eventi verranno ignorati in modo automatico. Prima che il provider possa scrivere eventi, è necessario registrare il provider usando TraceLoggingRegister. Questa operazione verrà in genere eseguita durante l'avvio del componente. All'arresto del componente annullare la registrazione del provider chiamando TraceLoggingUnregister, ad esempio prima di restituire da main, wmaino , in DllMain(DLL_PROCESS_DETACH), prima di restituire da un DriverEntryerrore o WinMainnella routine di scaricamento del driver.

TraceLoggingRegister non è thread-safe rispetto ad altre chiamate a TraceLoggingRegister o TraceLoggingUnregister nello stesso handle. Non chiamare TraceLoggingRegister se è possibile che un altro thread possa chiamare TraceLoggingRegister o TraceLoggingUnregister nello stesso handle contemporaneamente.

Se TraceLoggingRegister ha esito negativo, l'handle del provider rimarrà non registrato e tutti gli usi dell'handle del provider saranno senza operazioni sicure. In particolare, è un no-op sicuro per chiamare TraceLoggingWrite o TraceLoggingUnregister con un handle provider non registrato.

Importante

Se la DLL o il driver chiama TraceLoggingRegister su un handle del provider, deve chiamare TraceLoggingUnregister su tale provider prima che la DLL o il driver scaricano. Se una DLL viene scaricata senza chiamare TraceLoggingUnregister, il processo potrebbe successivamente arrestarsi in modo anomalo. Se un driver scarica senza chiamare TraceLoggingUnregister, il sistema potrebbe successivamente arrestare l'arresto anomalo. La TraceLoggingRegister funzione stabilisce un callback di configurazione ETW e TraceLoggingUnregister annulla il callback. Se il callback non viene annullato e il modulo scarica, si verificherà un arresto anomalo della prossima volta che ETW tenta di richiamare il callback.

Requisiti

   
Client minimo supportato Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Intestazione traceloggingprovider.h
Libreria Advapi32.lib

Vedi anche

TraceLoggingRegister

EventUnregister