Metodo ICorProfilerCallback::Shutdown
Notifica al profiler che l'applicazione si sta chiudendo.
HRESULT Shutdown();
Note
Il codice del profiler non può chiamare in modo sicuro i metodi dell'interfaccia ICorProfilerInfo dopo che è stato chiamato il metodo Shutdown. Qualsiasi chiamata ai metodi ICorProfilerInfo dà luogo a un comportamento non definito dopo il completamento del metodo Shutdown. Dopo l'arresto possono comunque verificarsi alcuni eventi non modificabili. In questo caso, il profiler deve terminare immediatamente l'esecuzione.
Il metodo Shutdown verrà chiamato solo se l'applicazione gestita che si sta analizzando viene avviata come codice gestito, ovvero è gestito il frame iniziale sullo stack del processo. Se l'applicazione è stata avviata come codice non gestito ma in un secondo tempo è passata a codice gestito, creando così un'istanza di Common Language Runtime, Shutdown non verrà chiamato. Per questi casi, nella libreria del profiler deve essere inclusa una routine DllMain che utilizza il valore DLL_PROCESS_DETACH per liberare le eventuali risorse ed eseguire una procedura di pulizia dei relativi dati, ad esempio svuotando le tracce su disco e così via.
In generale, il profiler deve far fronte ad arresti imprevisti. Ad esempio, può accadere che un processo venga arrestato dal metodo TerminateProcess (dichiarato in Winbase.h) di Win32. In altri casi, Common Language Runtime arresterà alcuni thread gestiti (thread in background) senza inviare messaggi di eliminazione ordinati.
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: CorProf.idl, CorProf.h
Libreria: CorGuids.lib
Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0