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