ICorProfilerCallback2 (Interfaz)

Proporciona métodos que Common Language Runtime (CLR) usa para notificar a un generador de perfiles de código cuando se produzcan los eventos a los que se ha suscrito el generador de perfiles. La interfaz ICorProfilerCallback2 es una extensión de la interfaz ICorProfilerCallback. Es decir, proporciona nuevas devoluciones de llamada introducidas en .NET Framework en la versión 2.0.

Nota

Cada implementación de método debe devolver un HRESULT que tenga un valor de S_OK en caso de que se complete correctamente o E_FAIL en caso de error. Actualmente, CLR omite el HRESULT devuelto por cada devolución de llamada excepto ICorProfilerCallback::ObjectReferences.

Métodos

Método Descripción
Método FinalizeableObjectQueued Notifica al generador de perfiles de código que un objeto con un finalizador se ha puesto en cola en el subproceso del finalizador para la ejecución del método Finalize.
Método GarbageCollectionFinished Este método puede usarse para notificar al generador de perfiles de que se ha completado el proceso de recolección de elementos no utilizados y se han emitido todas las devoluciones de llamada de recolección de elementos no utilizados.
Método GarbageCollectionStarted Notifica al generador de perfiles del código que se ha iniciado la recolección de elementos no utilizados.
Método HandleCreated Notifica al generador de perfiles del código que se ha creado un identificador de recolección de elementos no utilizados.
Método HandleDestroyed Notifica al generador de perfiles del código que se ha eliminado un identificador de recolección de elementos no utilizados.
Método RootReferences2 Este método puede usarse para notificar al generador de perfiles acerca de las referencias raíz después de que se produzca un proceso de recolección de elementos no utilizados. Este método es una extensión del método ICorProfilerCallback::RootReferences.
Método SurvivingReferences Notifica al generador de perfiles las referencias de objeto que han sobrevivido a la recolección de elementos no utilizados.
Método ThreadNameChanged Este método puede usarse para notificar al generador de perfiles de código de que se ha cambiado el nombre de un subproceso.

Comentarios

CLR llama a un método de la interfaz ICorProfilerCallback (o ICorProfilerCallback2) para notificar al generador de perfiles cuando se produce un evento al que se ha suscrito. Esta es la interfaz de devolución de llamada principal a través de la cual CLR se comunica con el generador de perfiles de código.

Un generador de perfiles de código debe implementar los métodos de la interfaz ICorProfilerCallback. Para .NET Framework  2.0 o versiones posteriores, el generador de perfiles también debe implementar los métodos ICorProfilerCallback2. Cada implementación de método debe devolver un HRESULT que tenga un valor de S_OK en caso de que se complete correctamente o E_FAIL en caso de error. Actualmente, CLR omite el HRESULT devuelto por cada devolución de llamada excepto ICorProfilerCallback::ObjectReferences.

Un generador de perfiles de código debe registrar en el registro de Microsoft Windows su objeto COM que implemente las interfaces ICorProfilerCallback y ICorProfilerCallback2. Un generador de perfiles de código se suscribe a los eventos para los que desea recibir notificaciones mediante una llamada a ICorProfilerInfo::SetEventMask. Esto suele hacerse en la implementación del generador de perfiles de ICorProfilerCallback::Initialize. Después, el generador de perfiles puede recibir notificaciones del entorno de ejecución cuando un evento está a punto de producirse o se acaba de producir en un proceso en ejecución.

Nota

El generador de perfiles registra un único objeto COM. Si el generador de perfiles tiene como destino la versión 1.0 o 1.1 de .NET Framework, ese objeto COM solo debe implementar los métodos de ICorProfilerCallback. Si tiene como destino .NET Framework, versión 2.0 y posterior, el objeto COM también debe implementar los métodos de ICorProfilerCallback2.

Requisitos

Plataformas: Vea Requisitos de sistema.

Encabezado: CorProf.idl, CorProf.h

Biblioteca: CorGuids.lib

Versiones de .NET Framework: disponible a partir de la versión 2.0

Consulte también