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