Compartir a través de


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 y HNDTYPE_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. Si type es CorGCReferenceType.CorHandleStrongDependent, este campo es el objeto que, si está activo, enraiza el objeto que se va a recopilar como elemento no utilizado en COR_GC_REFERENCE.Location.

  • RefCount. Si type es CorGCReferenceType.CorHandleStrongRefCount, este campo es el recuento de referencias del manipulador.

  • Size. Si type es CorGCReferenceType.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

Consulte también