Condividi tramite


Interfaccia ICorProfilerCallback2

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. L'interfaccia ICorProfilerCallback2 è un’estensione dell’interfaccia ICorProfilerCallback. In altri termini, fornisce i nuovi callback introdotti in .NET Framework versione 2.0.

NotaNota

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, CLR ignora il valore di HRESULT restituito da ciascun callback, a eccezione di ICorProfilerCallback::ObjectReferences.

Metodi

Metodo

Descrizione

Metodo ICorProfilerCallback2::FinalizeableObjectQueued

Notifica al Code Profiler che un oggetto contenente un finalizzatore è stato accodato al thread dei finalizzatori per l'esecuzione del relativo metodo Finalize.

Metodo ICorProfilerCallback2::GarbageCollectionFinished

Notifica al profiler che è stata completata una Garbage Collection e che sono stati inviati tutti i relativi callback.

Metodo ICorProfilerCallback2::GarbageCollectionStarted

Notifica al Code Profiler che è iniziata una Garbage Collection.

Metodo ICorProfilerCallback2::HandleCreated

Notifica al Code Profiler che è stato creato un handle di Garbage Collection.

Metodo ICorProfilerCallback2::HandleDestroyed

Notifica al Code Profiler che è stato eliminato un handle della Garbage Collection.

Metodo ICorProfilerCallback2::RootReferences2

Notifica al profiler i riferimenti principali dopo l'esecuzione di una Garbage Collection. Questo metodo è un'estensione del metodo ICorProfilerCallback::RootReferences.

Metodo ICorProfilerCallback2::SurvivingReferences

Notifica al profiler i riferimenti agli oggetti non raccolti da una Garbage Collection.

Metodo ICorProfilerCallback2::ThreadNameChanged

Notifica al Code Profiler che è cambiato il nome di un thread.

Note

Common Language Runtime chiama un metodo nell'interfaccia ICorProfilerCallback (oppure ICorProfilerCallback2) per notificare al profiler il momento in cui si verifica un evento al quale era stata effettuata la sottoscrizione. Si tratta dell'interfaccia di callback radice 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, CLR ignora il valore di HRESULT restituito da ciascun callback, a eccezione di ICorProfilerCallback::ObjectReferences.

Un Code Profiler deve registrare nel Registro di sistema Microsoft Windows il relativo oggetto COM che implementa le interfacce ICorProfilerCallback e ICorProfilerCallback2. Un 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 il profiler è destinato a .NET Framework versione 1.0 o 1.1, tale oggetto COM deve implementare solo 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

Vedere anche

Riferimenti

Interfaccia ICorProfilerCallback

Altre risorse

Interfacce di profilatura