Compartir a través de


Estructura de COR_GC_REFERENCE

Contiene información sobre un objeto que se va a recopilar como elementos no utilizados.

Syntax

typedef struct _COR_GC_REFERENCE {
    ICorDebugAppDomain *domain;
    ICorDebugValue *location;
    CorGCReferenceType type;
    UINT64 extraData;
} COR_GC_REFERENCE;

Members

Miembro Description
domain Puntero al dominio de aplicación al que pertenece el identificador o el objeto. Su 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 elementos no utilizados. Esta información depende del origen del objeto, como se indica en el type campo . Para obtener más información, vea la sección Comentarios.

Observaciones

El type campo es un valor de enumeración CorGCReferenceType que indica de dónde procede la referencia. Un valor determinado COR_GC_REFERENCE puede reflejar cualquiera de los siguientes tipos de objetos administrados:

  • Objetos de todas las pilas administradas (CorGCReferenceType.CorReferenceStack). Esto incluye referencias dinámicas en código administrado, así como objetos creados por Common Language Runtime.
  • Objetos de la tabla de identificadores (CorGCReferenceType.CorHandle*). Esto incluye referencias seguras (HNDTYPE_STRONG y ) y HNDTYPE_REFCOUNTvariables 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 extraData campo contiene datos adicionales en función del origen (o tipo) de la referencia. Los valores posibles son:

  • DependentSource. type Si es CorGCReferenceType.CorHandleStrongDependent, este campo es el objeto que, si está activo, raíz el objeto que se va a recopilar como elemento no utilizado en COR_GC_REFERENCE.Location.
  • RefCount. type Si es CorGCReferenceType.CorHandleStrongRefCount, este campo es el recuento de referencias del identificador.
  • Size. type Si 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 está necesariamente actualizado.

Requisitos

Plataformas: Consulte Sistemas operativos compatibles con .NET.

Encabezado: CorDebug.idl, CorDebug.h

Biblioteca: CorGuids.lib

Versiones de .NET: Disponible desde .NET Framework 4.5