COR_GC_REFERENCE (Estructura)
Contiene información sobre un objeto que se va a recolectar con elemento no utilizado.
Sintaxis
typedef struct _COR_GC_REFERENCE {
ICorDebugAppDomain *domain;
ICorDebugValue *location;
CorGCReferenceType type;
UINT64 extraData;
} COR_GC_REFERENCE;
Miembros
Miembro | Descripción |
---|---|
domain |
Puntero al dominio de aplicación al que pertenece el manipulador o el objeto. Este valor puede ser null . |
location |
Una interfaz ICorDebugValue o ICorDebugReferenceValue que corresponde al objeto que se va a recopilar como elemento no utilizado. |
type |
Valor de enumeración CorGCReferenceType que indica de dónde procede la raíz. Para obtener más información, vea la sección Comentarios. |
extraData |
Datos adicionales sobre el objeto que se va a recopilar como elemento no utilizado. Esta información depende del origen del objeto, como se indica en el campo type . Para obtener más información, vea la sección Comentarios. |
Comentarios
El campo type
es un valor de enumeración CorGCReferenceType que indica de dónde procede la referencia. Un valor COR_GC_REFERENCE
determinado puede reflejar cualquiera de los siguientes tipos de objetos administrados:
Objetos de todas las pilas administradas (
CorGCReferenceType.CorReferenceStack
). Esto incluye referencias en directo en el código administrado, así como objetos creados por Common Language Runtime.Objetos de la tabla de manipuladores (
CorGCReferenceType.CorHandle*
). Esto incluye referencias seguras (HNDTYPE_STRONG
yHNDTYPE_REFCOUNT
) y variables estáticas en un módulo.Objetos de la cola del finalizador (
CorGCReferenceType.CorReferenceFinalizer
). Los objetos raíz de la cola del finalizador hasta que se haya ejecutado el finalizador.
El campo extraData
contiene datos adicionales en función del origen (o tipo) de la referencia. Los valores posibles son:
DependentSource
. Sitype
esCorGCReferenceType.CorHandleStrongDependent
, este campo es el objeto que, si está activo, enraiza el objeto que se va a recopilar como elemento no utilizado enCOR_GC_REFERENCE.Location
.RefCount
. Sitype
esCorGCReferenceType.CorHandleStrongRefCount
, este campo es el recuento de referencias del manipulador.Size
. Sitype
esCorGCReferenceType.CorHandleStrongSizedByref
, este campo es el último tamaño del árbol de objetos para el que el recolector de elementos no utilizados calculó las raíces del objeto. Tenga en cuenta que este cálculo no tiene por qué estar actualizado.
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: CorDebug.idl, CorDebug.h
Biblioteca: CorGuids.lib
Versiones de .NET Framework: disponible a partir de la versión 4.5