Interfaccia ICorProfilerCallback

Fornisce metodi utilizzati da Common Language Runtime (CLR) per notificare a un profiler di codice quando si verificano gli eventi a cui è stato sottoscritto il profiler.

Metodi

Metodo Descrizione
Metodo AppDomainCreationFinished Notifica al profiler che è stato creato un dominio applicazione.
Metodo AppDomainCreationStarted Notifica al profiler che viene creato un dominio applicazione.
Metodo AppDomainShutdownFinished Notifica al profiler che un dominio applicazione è stato scaricato da un processo.
Metodo AppDomainShutdownStarted Notifica al profiler che un dominio applicazione viene scaricato da un processo.
Metodo AssemblyLoadFinished Notifica al profiler che un assembly ha terminato il caricamento.
Metodo AssemblyLoadStarted Notifica al profiler che viene caricato un assembly.
Metodo AssemblyUnloadFinished Notifica al profiler che un assembly è stato scaricato.
Metodo AssemblyUnloadStarted Notifica al profiler che un assembly viene scaricato.
Metodo ClassLoadFinished Notifica al profiler che una classe ha terminato il caricamento.
Metodo ClassLoadStarted Notifica al profiler che viene caricata una classe.
Metodo ClassUnloadFinished Notifica al profiler che una classe ha terminato lo scaricamento.
Metodo ClassUnloadStarted Notifica al profiler che una classe viene scaricata.
Metodo COMClassicVTableCreated Notifica al profiler che è stato creato un wrapper chiamabile in fase di esecuzione (RCW) per l'IID e la classe specificati.
Metodo COMClassicVTableDestroyed Notifica al profiler che un RCW viene eliminato definitivamente.
Metodo ExceptionCatcherEnter Notifica al profiler che il controllo viene passato al blocco appropriato catch .
Metodo ExceptionCatcherLeave Notifica al profiler che il controllo viene passato fuori dal blocco appropriato catch .
Metodo ExceptionCLRCatcherExecute Obsoleto in .NET Framework versione 2.0.
Metodo ExceptionCLRCatcherFound Obsoleto in .NET Framework 2.0.
Metodo ExceptionOSHandlerEnter Non implementato. Un profiler che necessita di informazioni sulle eccezioni non gestite deve ottenere queste informazioni tramite altri mezzi.
Metodo ExceptionOSHandlerLeave Non implementato. Un profiler che necessita di informazioni sulle eccezioni non gestite deve ottenere queste informazioni tramite altri mezzi.
Metodo ExceptionSearchCatcherFound Notifica al profiler che la fase di ricerca della gestione delle eccezioni ha individuato un gestore per l'eccezione generata.
Metodo ExceptionSearchFilterEnter Notifica al profiler che viene eseguito un filtro utente.
Metodo ExceptionSearchFilterLeave Notifica al profiler che un filtro utente ha appena terminato l'esecuzione.
Metodo ExceptionSearchFunctionEnter Notifica al profiler che la fase di ricerca della gestione delle eccezioni ha immesso una funzione.
Metodo ExceptionSearchFunctionLeave Notifica al profiler che la fase di ricerca della gestione delle eccezioni ha completato la ricerca in una funzione.
Metodo ExceptionThrown Notifica al profiler che è stata generata un'eccezione.
Metodo ExceptionUnwindFinallyEnter Notifica al profiler che la fase di rimozione della gestione delle eccezioni immette una finally clausola contenuta nella funzione specificata.
Metodo ExceptionUnwindFinallyLeave Notifica al profiler che la fase di rimozione della gestione delle eccezioni ha lasciato una finally clausola .
Metodo ExceptionUnwindFunctionEnter Notifica al profiler che la fase di rimozione della gestione delle eccezioni ha immesso una funzione.
Metodo ExceptionUnwindFunctionLeave Notifica al profiler che la fase di rimozione della gestione delle eccezioni ha terminato la rimozione di una funzione.
Metodo FunctionUnloadStarted Notifica al profiler che il runtime ha iniziato a scaricare una funzione.
Metodo Initialize Chiamato per inizializzare il profiler ogni volta che viene avviata una nuova applicazione CLR.
Metodo JITCachedFunctionSearchFinished Notifica al profiler che una ricerca è stata completata per una funzione compilata in precedenza usando NGen.exe.
Metodo JITCachedFunctionSearchStarted Notifica al profiler che una ricerca è stata avviata per una funzione compilata in precedenza usando NGen.exe.
Metodo JITCompilationFinished Notifica al profiler che il compilatore JIT ha completato la compilazione di una funzione.
Metodo JITCompilationStarted Notifica al profiler che il compilatore JIT (Just-In-Time) ha iniziato a compilare una funzione.
Metodo JITFunctionPitched Notifica al profiler che una funzione compilata tramite JIT è stata rimossa dalla memoria.
Metodo JITInlining Notifica al profiler che il compilatore JIT sta per inserire una funzione in linea con un'altra funzione.
Metodo ManagedToUnmanagedTransition Notifica al profiler che si è verificata una transizione dal codice gestito al codice non gestito.
Metodo ModuleAttachedToAssembly Notifica al profiler che un modulo viene collegato all'assembly padre.
Metodo ModuleLoadFinished Notifica al profiler che un modulo ha terminato il caricamento.
Metodo ModuleLoadStarted Notifica al profiler che viene caricato un modulo.
Metodo ModuleUnloadFinished Notifica al profiler che un modulo ha terminato lo scaricamento.
Metodo ModuleUnloadStarted Notifica al profiler che un modulo viene scaricato.
Metodo MovedReferences Notifica al profiler i riferimenti a oggetti spostati durante l'operazione di Garbage Collection.
Metodo ObjectAllocated Notifica al profiler che la memoria all'interno dell'heap è stata allocata per un oggetto.
Metodo ObjectReferences Notifica al profiler sugli oggetti in memoria a cui fa riferimento l'oggetto specificato.
Metodo ObjectsAllocatedByClass Notifica al profiler il numero di istanze di ogni classe specificata creata dopo la garbage collection precedente.
Metodo RemotingClientInvocationFinished Notifica al profiler che una chiamata remota è stata eseguita per il completamento nel client.
Metodo RemotingClientInvocationStarted Notifica al profiler che è stata avviata una chiamata remota.
Metodo RemotingClientReceivingReply Notifica al profiler che la parte lato server di una chiamata remota è stata completata e il client riceve e sta ora per elaborare la risposta.
Metodo RemotingClientSendingMessage Notifica al profiler che il client invia una richiesta al server.
Metodo RemotingServerInvocationReturned Notifica al profiler che il processo ha terminato di richiamare un metodo in risposta a una richiesta di chiamata al metodo remoto.
Metodo RemotingServerInvocationStarted Notifica al profiler che il processo richiama un metodo in risposta a una richiesta di chiamata al metodo remoto.
Metodo RemotingServerReceivingMessage Notifica al profiler che il processo riceve una chiamata o una richiesta di attivazione remota del metodo.
Metodo RemotingServerSendingReply Notifica al profiler che il processo ha completato l'elaborazione di una richiesta di chiamata al metodo remoto e sta per trasmettere la risposta tramite un canale.
Metodo RootReferences Notifica al profiler informazioni sui riferimenti radice dopo Garbage Collection.
Metodo RuntimeResumeFinished Notifica al profiler che il runtime ha ripreso tutti i thread di runtime e ha restituito alla normale operazione.
Metodo RuntimeResumeStarted Notifica al profiler che il runtime riprende tutti i thread di runtime.
Metodo RuntimeSuspendAborted Notifica al profiler che il runtime ha interrotto la sospensione in fase di esecuzione che si è verificata.
Metodo RuntimeSuspendFinished Notifica al profiler che il runtime ha completato la sospensione di tutti i thread di runtime.
Metodo RuntimeSuspendStarted Notifica al profiler che il runtime sta per sospendere tutti i thread di runtime.
Metodo RuntimeThreadResumed Notifica al profiler che il thread specificato è stato ripreso dopo la sospensione.
Metodo RuntimeThreadSuspended Notifica al profiler che il thread specificato è stato o sta per essere sospeso.
Metodo Shutdown Notifica al profiler che l'applicazione sta arrestando.
Metodo ThreadAssignedToOSThread Notifica al profiler che viene implementato un thread gestito usando un thread del sistema operativo specifico.
Metodo ThreadCreated Notifica al profiler che è stato creato un thread.
Metodo ThreadDestroyed Notifica al profiler che un thread è stato distrutto.
Metodo UnmanagedToManagedTransition Notifica al profiler che si è verificata una transizione dal codice non gestito al codice gestito.

Commenti

CLR chiama un metodo nell'interfaccia ICorProfilerCallback (o ICorProfilerCallback2) per notificare al profiler quando un evento, a cui il profiler ha sottoscritto, si verifica. Si tratta dell'interfaccia di callback primaria tramite la quale CLR comunica con il profiler del codice.

Un profiler di codice deve implementare i metodi dell'interfaccia ICorProfilerCallback . Per .NET Framework versione 2.0 o successiva, il profiler deve implementare anche i ICorProfilerCallback2 metodi. Ogni implementazione del metodo deve restituire un valore HRESULT che ha un valore di S_OK in caso di esito positivo o E_FAIL in caso di errore. Attualmente, CLR ignora il valore HRESULT restituito da ogni callback tranne ICorProfilerCallback::ObjectReferences.

Nel Registro di sistema Di Microsoft Windows, un profiler di codice deve registrare il relativo oggetto Component Object Model (COM) che implementa le ICorProfilerCallback interfacce e ICorProfilerCallback2 . Un profiler di codice sottoscrive gli eventi per i quali vuole ricevere una notifica chiamando ICorProfilerInfo::SetEventMask. Questa operazione viene in genere eseguita nell'implementazione del profiler di ICorProfilerCallback::Initialize. Il profiler è quindi in grado di ricevere una notifica dal runtime quando un evento sta per verificarsi o si è appena verificato in un processo di runtime in esecuzione.

Nota

Il profiler registra un singolo oggetto COM. Se il profiler è destinato a .NET Framework versione 1.0 o 1.1, tale oggetto COM deve implementare solo i metodi di ICorProfilerCallback. Se è destinato a .NET Framework versione 2.0 o successiva, l'oggetto COM deve anche implementare 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: Disponibile da 1.0

Vedi anche