Interfaccia ICorProfilerCallback2
Fornisce metodi usati da Common Language Runtime (CLR) per notificare a un profiler di codice quando si verificano gli eventi a cui si è sottoscritto il profiler. L'interfaccia ICorProfilerCallback2
è un'estensione dell'interfaccia ICorProfilerCallback . Di conseguenza, fornisce nuovi callback introdotti in .NET Framework versione 2.0.
Nota
Ogni implementazione del metodo deve restituire un valore HRESULT con 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.
Metodi
Metodo | Descrizione |
---|---|
Metodo FinalizeableObjectQueued | Notifica al profiler di codice che un oggetto con un finalizzatore è stato accodato al thread del finalizzatore per l'esecuzione del Finalize relativo metodo. |
Metodo GarbageCollectionFinished | Notifica al profiler che un garbage collection è stato completato e tutti i callback di Garbage Collection sono stati rilasciati per esso. |
Metodo GarbageCollectionStarted | Notifica al profiler di codice che è stato avviato un Garbage Collection. |
Metodo HandleCreated | Notifica al profiler di codice che è stato creato un handle di Garbage Collection. |
Metodo HandleDestroyed | Notifica al profiler di codice che è stato eliminato un handle di Garbage Collection. |
Metodo RootReferences2 | Notifica al profiler informazioni sui riferimenti radice dopo che si è verificato un Garbage Collection. Questo metodo è un'estensione del metodo ICorProfilerCallback::RootReferences . |
Metodo SurvivingReferences | Notifica al profiler informazioni sui riferimenti a oggetti sopravvissuti a una Garbage Collection. |
Metodo ThreadNameChanged | Notifica al profiler di codice che il nome di un thread è cambiato. |
Commenti
CLR chiama un metodo nell'interfaccia ICorProfilerCallback
(o ICorProfilerCallback2
) per notificare al profiler quando si verifica un evento, a cui il profiler aveva sottoscritto. 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 2.0 e versioni successive, il profiler deve anche implementare i ICorProfilerCallback2
metodi. Ogni implementazione del metodo deve restituire un valore HRESULT con 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.
Un profiler di codice deve registrarsi nel Registro di sistema di Microsoft Windows, l'oggetto 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, l'oggetto COM deve implementare solo i metodi di ICorProfilerCallback
. Se è destinato a .NET Framework versione 2.0 e 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 2.0