Condividi tramite


Interfaccia ICorProfilerCallback

Fornisce i metodi utilizzati da Common Language Runtime per notificare a Code Profiler quando si verificano gli eventi per i quali ha effettuato la sottoscrizione.

Metodi

Metodo

Descrizione

Metodo ICorProfilerCallback::AppDomainCreationFinished

Notifica al profiler che è stato creato un dominio applicazione.

Metodo ICorProfilerCallback::AppDomainCreationStarted

Notifica al profiler che è in corso la creazione di un dominio applicazione.

Metodo ICorProfilerCallback::AppDomainShutdownFinished

Notifica al profiler che è stato scaricato un dominio applicazione da un processo.

Metodo ICorProfilerCallback::AppDomainShutdownStarted

Notifica al profiler che è in corso lo scaricamento di un dominio applicazione da un processo.

Metodo ICorProfilerCallback::AssemblyLoadFinished

Notifica al profiler che è terminato il caricamento di un assembly.

Metodo ICorProfilerCallback::AssemblyLoadStarted

Notifica al profiler che è in corso il caricamento di un assembly.

Metodo ICorProfilerCallback::AssemblyUnloadFinished

Notifica al profiler che è stato scaricato un assembly.

Metodo ICorProfilerCallback::AssemblyUnloadStarted

Notifica al profiler che è in corso lo scaricamento di un assembly.

Metodo ICorProfilerCallback::ClassLoadFinished

Notifica al profiler che è terminato il caricamento di una classe.

Metodo ICorProfilerCallback::ClassLoadStarted

Notifica al profiler che è in corso il caricamento di una classe.

Metodo ICorProfilerCallback::ClassUnloadFinished

Notifica al profiler che è terminato lo scaricamento di una classe.

Metodo ICorProfilerCallback::ClassUnloadStarted

Notifica al profiler che è in corso lo scaricamento di una classe.

Metodo ICorProfilerCallback::COMClassicVTableCreated

Notifica al profiler che è stato creato un RCW (Runtime Callable Wrapper) per l'IID e la classe specificati.

Metodo ICorProfilerCallback::COMClassicVTableDestroyed

Notifica al profiler che è in corso l'eliminazione di un RCW.

Metodo ICorProfilerCallback::ExceptionCatcherEnter

Notifica al profiler che il controllo viene passato al blocco catch appropriato.

Metodo ICorProfilerCallback::ExceptionCatcherLeave

Notifica al profiler che il controllo viene passato fuori dal blocco catch appropriato.

Metodo ICorProfilerCallback::ExceptionCLRCatcherExecute

Obsoleto in .NET Framework versione 2.0.

Metodo ICorProfilerCallback::ExceptionCLRCatcherFound

Obsoleto in .NET Framework 2.0.

Metodo ICorProfilerCallback::ExceptionOSHandlerEnter

Non implementato. Un profiler che necessiti di informazioni sulle eccezioni non gestite deve ottenere tali informazioni in altri modi.

Metodo ICorProfilerCallback::ExceptionOSHandlerLeave

Non implementato. Un profiler che necessiti di informazioni sulle eccezioni non gestite deve ottenere tali informazioni in altri modi.

Metodo ICorProfilerCallback::ExceptionSearchCatcherFound

Notifica al profiler che la fase di ricerca della gestione delle eccezioni ha individuato un gestore per l'eccezione generata.

Metodo ICorProfilerCallback::ExceptionSearchFilterEnter

Notifica al profiler che è in corso l'esecuzione di un filtro utente.

Metodo ICorProfilerCallback::ExceptionSearchFilterLeave

Notifica al profiler che è appena terminata l'esecuzione di un filtro utente.

Metodo ICorProfilerCallback::ExceptionSearchFunctionEnter

Notifica al profiler del codice che la fase di ricerca della gestione delle eccezioni è entrata in una funzione.

Metodo ICorProfilerCallback::ExceptionSearchFunctionLeave

Notifica al profiler che la fase di ricerca della gestione delle eccezioni ha finito di effettuare la ricerca in una funzione.

Metodo ICorProfilerCallback::ExceptionThrown

Notifica al profiler che è stata generata un'eccezione.

Metodo ICorProfilerCallback::ExceptionUnwindFinallyEnter

Notifica al profiler che la fase di rimozione della gestione delle eccezioni sta entrando in una clausola finally contenuta nella funzione specificata.

Metodo ICorProfilerCallback::ExceptionUnwindFinallyLeave

Notifica al profiler che la fase di rimozione della gestione delle eccezioni è uscita da una clausola finally.

Metodo ICorProfilerCallback::ExceptionUnwindFunctionEnter

Notifica al profiler del codice che la fase di rimozione della gestione delle eccezioni è entrata in una funzione.

Metodo ICorProfilerCallback::ExceptionUnwindFunctionLeave

Notifica al profiler che la fase di rimozione della gestione delle eccezioni ha finito di rimuovere una funzione.

Metodo ICorProfilerCallback::FunctionUnloadStarted

Notifica al profiler che il runtime ha iniziato a scaricare una funzione.

Metodo ICorProfilerCallback::Initialize

Chiamato per inizializzare il profiler ogni volta che viene avviata una nuova applicazione di Common Language Runtime.

Metodo ICorProfilerCallback::JITCachedFunctionSearchFinished

Notifica al profiler che è terminata una ricerca per una funzione compilata precedentemente utilizzando NGen.exe.

Metodo ICorProfilerCallback::JITCachedFunctionSearchStarted

Notifica al profiler che è iniziata una ricerca per una funzione compilata precedentemente utilizzando NGen.exe.

Metodo ICorProfilerCallback::JITCompilationFinished

Notifica al profiler che il compilatore JIT ha finito di compilare una funzione.

Metodo ICorProfilerCallback::JITCompilationStarted

Notifica al profiler che il compilatore JIT (Just-In-Time) ha iniziato a compilare una funzione.

Metodo ICorProfilerCallback::JITFunctionPitched

Notifica al profiler che una funzione compilata tramite JIT è stata rimossa dalla memoria.

Metodo ICorProfilerCallback::JITInlining

Notifica al profiler che il compilatore JIT sta per inserire una funzione in linea con un'altra funzione.

Metodo ICorProfilerCallback::ManagedToUnmanagedTransition

Notifica al profiler che si è verificata una transizione da codice gestito a codice non gestito.

Metodo ICorProfilerCallback::ModuleAttachedToAssembly

Notifica al profiler che è in corso la connessione di un modulo al relativo assembly padre.

Metodo ICorProfilerCallback::ModuleLoadFinished

Notifica al profiler che è terminato il caricamento di un modulo.

Metodo ICorProfilerCallback::ModuleLoadStarted

Notifica al profiler che è in corso il caricamento di un modulo.

Metodo ICorProfilerCallback::ModuleUnloadFinished

Notifica al profiler che è terminato lo scaricamento di un modulo.

Metodo ICorProfilerCallback::ModuleUnloadStarted

Notifica al profiler che è in corso lo scaricamento di un modulo.

Metodo ICorProfilerCallback::MovedReferences

Notifica al profiler i riferimenti agli oggetti spostati durante la Garbage Collection.

Metodo ICorProfilerCallback::ObjectAllocated

Notifica al profiler che la memoria all'interno dell'heap è stata allocata per un oggetto.

Metodo ICorProfilerCallback::ObjectReferences

Notifica al profiler gli oggetti in memoria a cui fa riferimento l'oggetto specificato.

Metodo ICorProfilerCallback::ObjectsAllocatedByClass

Notifica al profiler il numero di istanze di ogni classe specificata che sono state create dopo la precedente Garbage Collection.

Metodo ICorProfilerCallback::RemotingClientInvocationFinished

Notifica al profiler che una chiamata remota è stata completata sul client.

Metodo ICorProfilerCallback::RemotingClientInvocationStarted

Notifica al profiler che è stata avviata una chiamata remota.

Metodo ICorProfilerCallback::RemotingClientReceivingReply

Notifica al profiler del codice che la parte sul lato server di una chiamata remota è stata completata e che il client è ora in modalità di ricezione e sta per elaborare la risposta.

Metodo ICorProfilerCallback::RemotingClientSendingMessage

Notifica al profiler che il client sta inviando una richiesta al server.

Metodo ICorProfilerCallback::RemotingServerInvocationReturned

Notifica al profiler che il processo ha finito di chiamare un metodo in risposta a una richiesta di chiamata di un metodo remota.

Metodo ICorProfilerCallback::RemotingServerInvocationStarted

Notifica al profiler che il processo sta chiamando un metodo in risposta a una richiesta di chiamata di un metodo remota.

Metodo ICorProfilerCallback::RemotingServerReceivingMessage

Notifica al profiler che il processo sta ricevendo una chiamata del metodo o una richiesta di attivazione remota.

Metodo ICorProfilerCallback::RemotingServerSendingReply

Notifica al profiler che il processo ha finito di elaborare una richiesta di chiamata di un metodo remota e sta per trasmettere la risposta attraverso un canale.

Metodo ICorProfilerCallback::RootReferences

Fornisce al profiler informazioni sui riferimenti radice dopo la Garbage Collection.

Metodo ICorProfilerCallback::RuntimeResumeFinished

Notifica al profiler che il runtime ha fatto riprendere tutti i thread in fase di esecuzione e che è tornato al normale funzionamento.

Metodo ICorProfilerCallback::RuntimeResumeStarted

Notifica al profiler che il runtime sta facendo riprendere tutti i thread in fase di esecuzione.

Metodo ICorProfilerCallback::RuntimeSuspendAborted

Notifica al profiler che il runtime ha interrotto la relativa sospensione in corso.

Metodo ICorProfilerCallback::RuntimeSuspendFinished

Notifica al profiler che il runtime ha finito di sospendere tutti i thread in fase di esecuzione.

Metodo ICorProfilerCallback::RuntimeSuspendStarted

Notifica al profiler che il runtime sta per sospendere tutti i thread in fase di esecuzione.

Metodo ICorProfilerCallback::RuntimeThreadResumed

Notifica al profiler che l'esecuzione del thread specificato è ripresa dopo la sospensione.

Metodo ICorProfilerCallback::RuntimeThreadSuspended

Notifica al profiler che il thread specificato è stato o sta per essere sospeso.

Metodo ICorProfilerCallback::Shutdown

Notifica al profiler che l'applicazione si sta chiudendo.

Metodo ICorProfilerCallback::ThreadAssignedToOSThread

Notifica al profiler che un thread gestito viene implementato utilizzando un determinato thread del sistema operativo.

Metodo ICorProfilerCallback::ThreadCreated

Notifica al profiler che è stato creato un thread.

Metodo ICorProfilerCallback::ThreadDestroyed

Notifica al profiler che è stato eliminato un thread.

Metodo ICorProfilerCallback::UnmanagedToManagedTransition

Notifica al profiler che si è verificata una transizione da codice non gestito a codice gestito.

Note

Common Language Runtime richiama un metodo nell'interfaccia ICorProfilerCallback (oppure ICorProfilerCallback2) per notificare al profiler il momento in cui si verifica un evento al quale è stata effettuata la sottoscrizione. Si tratta dell'interfaccia di callback principale utilizzata da CLR per comunicare con il Code Profiler.

Un Code Profiler deve implementare i metodi dell'interfaccia ICorProfilerCallback. Per .NET Framework versione 2.0 o successiva, il profiler deve implementare anche i metodi ICorProfilerCallback2. L'implementazione di ciascun metodo deve restituire un HRESULT con valore S_OK in caso di corretta esecuzione oppure E_FAIL in caso di errore. Attualmente, Common Language Runtime ignora il valore di HRESULT restituito da ciascun callback, a eccezione di ICorProfilerCallback::ObjectReferences.

Nel Registro di sistema di Microsoft Windows, Code Profiler deve registrare il proprio oggetto COM (Component Object Model) che implementa le interfacce ICorProfilerCallback e ICorProfilerCallback2. Code profiler effettua la sottoscrizione agli eventi per i quali desidera ricevere notifica chiamando il metodoICorProfilerInfo::SetEventMask. Tale operazione in genere viene eseguita nell'implementazione del metodo ICorProfilerCallback::Initialize del profiler. Quest'ultimo è quindi in grado di ricevere notifica dal runtime quando un evento sta per verificarsi o si è appena verificato in un processo di runtime in esecuzione.

NotaNota

Il profiler registra un solo oggetto COM.Se la destinazione del profiler è .NET Framework versione 1.0 o 1.1, tale oggetto COM deve implementare soltanto i metodi di ICorProfilerCallback.Se, invece, la destinazione è .NET Framework versione 2.0 o successiva, l'oggetto COM deve implementare anche i metodi di ICorProfilerCallback2.

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, 1.1, 1.0

Vedere anche

Riferimenti

Interfaccia ICorProfilerCallback2

Altre risorse

Interfacce di profilatura