包含有关要进行垃圾回收的对象的信息。
Syntax
typedef struct _COR_GC_REFERENCE {
    ICorDebugAppDomain *domain;
    ICorDebugValue *location;
    CorGCReferenceType type;
    UINT64 extraData;
} COR_GC_REFERENCE;
Members
| 成员 | Description | 
|---|---|
| domain | 指向句柄或对象所属的应用程序域的指针。 其值可以是 null。 | 
| location | 与要垃圾回收的对象对应的 ICorDebugValue 或 ICorDebugReferenceValue 接口。 | 
| type | 一个 CorGCReferenceType 枚举值,该值指示根来自何处。 有关详细信息,请参阅“备注”部分。 | 
| extraData | 有关要进行垃圾回收的对象的其他数据。 此信息取决于对象的源,如字段指示 type。 有关详细信息,请参阅“备注”部分。 | 
注解
该 type 字段是 一个 CorGCReferenceType 枚举值,指示引用来自何处。 特定 COR_GC_REFERENCE 值可以反映以下任一类型的托管对象:
- 来自所有托管堆栈的对象(CorGCReferenceType.CorReferenceStack)。 这包括托管代码中的实时引用,以及公共语言运行时创建的对象。
- 句柄表 (CorGCReferenceType.CorHandle*) 中的对象。 这包括模块中的强引用(HNDTYPE_STRONG和HNDTYPE_REFCOUNT)和静态变量。
- 终结器队列中的对象(CorGCReferenceType.CorReferenceFinalizer)。 终结器队列根对象,直到终结器运行。
字段 extraData 包含额外数据,具体取决于引用的源(或类型)。 可能的值为:
- 
              DependentSource。 如果为typeCorGCReferenceType.CorHandleStrongDependent,则此字段是对象,如果该对象处于活动状态,则会在该COR_GC_REFERENCE.Location对象处进行垃圾回收。
- 
              RefCount。 如果为CorGCReferenceType.CorHandleStrongRefCount,type则此字段是句柄的引用计数。
- 
              Size。 如果为typeCorGCReferenceType.CorHandleStrongSizedByref,则此字段是垃圾回收器为其计算对象根的对象树的最后一个大小。 请注意,此计算不一定是最新的。
要求
平台: 请参阅 .NET 支持的作系统。
页眉: CorDebug.idl、CorDebug.h
图书馆: CorGuids.lib
.NET 版本: 自 .NET Framework 4.5 起可用