COR_GC_REFERENCE, structure
Contient des informations sur un objet qui doit faire l'objet d'une récupération de mémoire.
Syntaxe
typedef struct _COR_GC_REFERENCE {
ICorDebugAppDomain *domain;
ICorDebugValue *location;
CorGCReferenceType type;
UINT64 extraData;
} COR_GC_REFERENCE;
Membres
Membre | Description |
---|---|
domain |
Pointeur vers le domaine d’application auquel appartient le handle ou l’objet. Sa valeur peut être null . |
location |
Interface ICorDebugValue ou ICorDebugReferenceValue qui correspond à l’objet à nettoyer de la mémoire. |
type |
Valeur d’énumération CorGCReferenceType qui indique l’origine de la racine. Pour plus d'informations, consultez la section Notes. |
extraData |
Données supplémentaires sur l’objet à nettoyer de la mémoire. Ces informations dépendent de la source de l’objet, comme indiqué par le champ type . Pour plus d'informations, consultez la section Notes. |
Notes
Le champ type
est une valeur d’énumération CorGCReferenceType qui indique l’origine de la référence. Une valeur COR_GC_REFERENCE
particulière peut refléter l’un des types d’objets managés suivants :
Objets de toutes les piles managées (
CorGCReferenceType.CorReferenceStack
). Cela inclut des références directes dans le code managé ainsi que des objets créés par le Common Language Runtime.Objets de la table de handles (
CorGCReferenceType.CorHandle*
). Cela inclut des références fortes (HNDTYPE_STRONG
etHNDTYPE_REFCOUNT
) et des variables statiques dans un module.Objets de la file d’attente du finaliseur (
CorGCReferenceType.CorReferenceFinalizer
). La file d’attente du finaliseur racine les objets jusqu’à ce que le finaliseur ait été exécuté.
Le champ extraData
contient des données supplémentaires en fonction de la source (ou du type) de la référence. Les valeurs possibles sont les suivantes :
DependentSource
. Si letype
estCorGCReferenceType.CorHandleStrongDependent
, ce champ est l’objet qui, s’il existe, racine l’objet à nettoyer de la mémoire à l’adresseCOR_GC_REFERENCE.Location
.RefCount
. Si letype
estCorGCReferenceType.CorHandleStrongRefCount
, ce champ est le nombre de références du handle.Size
. Si letype
estCorGCReferenceType.CorHandleStrongSizedByref
, ce champ est la dernière taille de l’arborescence d’objets pour laquelle le récupérateur de mémoire a calculé les racines d’objets. Notez que ce calcul n’est pas nécessairement à jour.
Spécifications
Plateformes : Consultez Configuration requise.
En-tête : CorDebug.idl, CorDebug.h
Bibliothèque : CorGuids.lib
Versions de .NET Framework : disponible depuis la version 4.5