Compartir vía


ICorProfilerCallback::ObjectReferences (Método)

Notifica al generador de perfiles los objetos en memoria a los que hace referencia el objeto especificado.

Sintaxis

HRESULT ObjectReferences(  
    [in]  ObjectID objectId,  
    [in]  ClassID  classId,  
    [in]  ULONG    cObjectRefs,  
    [in, size_is(cObjectRefs)] ObjectID objectRefIds[] );  

Parámetros

objectId
[in] Identificador del objeto que hace referencia a objetos.

classId
[in] Identificador de la clase de la que el objeto especificado es una instancia.

cObjectRefs
[in] Número de objetos a los que hace referencia el objeto especificado (es decir, el número de elementos de la matriz objectRefIds).

objectRefIds
[in] Matriz de identificadores de objetos a los que hace referencia objectId.

Comentarios

Se llama al método ObjectReferences para cada objeto que permanece en el montón después de que se haya completado una recolección de elementos no utilizados. Si el generador de perfiles devuelve un error de esta devolución de llamada, los servicios de generación de perfiles interrumpirán la invocación de esta devolución de llamada hasta la siguiente recolección de elementos no utilizados.

La devolución de llamada ObjectReferences se puede usar junto con la devolución de llamada ICorProfilerCallback::RootReferences para crear un gráfico de referencia de objetos completo para el entorno de ejecución. Common Language Runtime (CLR) garantiza que cada referencia de objeto solo se notifica una vez mediante el método ObjectReferences.

Los identificadores de objeto devueltos por ObjectReferences no son válidos durante la propia devolución de llamada, ya que podría haber objetos moviéndose debido a un proceso de recolección de elementos no utilizados. Por lo tanto, los generadores de perfiles no deben intentar inspeccionar objetos durante una llamada a ObjectReferences. Cuando se llama a ICorProfilerCallback2::GarbageCollectionFinished, la recolección de elementos no utilizados se completa y se puede realizar la inspección de forma segura.

Un valor NULL ClassId indica que objectId tiene un tipo que se está descargando.

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