Condividi tramite


Metodo ICorProfilerCallback::Shutdown

Notifica al profiler che l'applicazione sta arrestando.

Sintassi

HRESULT Shutdown();  

Osservazioni

Il codice del profiler non può chiamare in modo sicuro i metodi dell'interfaccia ICorProfilerInfo dopo la chiamata del Shutdown metodo. Tutte le chiamate ai ICorProfilerInfo metodi comportano un comportamento non definito dopo che il Shutdown metodo viene restituito. Alcuni eventi non modificabili possono ancora verificarsi dopo l'arresto; il profiler deve prestare attenzione a restituire immediatamente quando si verifica questo problema.

Il Shutdown metodo verrà chiamato solo se l'applicazione gestita avviata come codice gestito, ovvero il frame iniziale nello stack di processi viene gestito. Se l'applicazione è stata avviata come codice non gestito ma successivamente è stata inserita nel codice gestito, creando quindi un'istanza di Common Language Runtime (CLR), Shutdown non verrà chiamata. Per questi casi, il profiler deve includere nella libreria una DllMain routine che usa il valore DLL_PROCESS_DETACH per liberare tutte le risorse ed eseguire l'elaborazione pulita dei dati, ad esempio lo scaricamento delle tracce su disco e così via.

In generale, il profiler deve gestire arresti imprevisti. Ad esempio, un processo potrebbe essere interrotto dal metodo di TerminateProcess Win32 (dichiarato in Winbase.h). In altri casi, CLR interromperà determinati thread gestiti (thread in background) senza recapitare messaggi di distruzione ordinati per tali thread.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: CorProf.idl, CorProf.h

Libreria: CorGuids.lib

Versioni di .NET Framework: Disponibile dalla versione 2.0

Vedi anche