ICorProfilerCallback::RootReferences 方法

在垃圾回收后向探查器通知有关根引用的信息。

HRESULT RootReferences(
    [in] ULONG    cRootRefs,
    [in, size_is(cRootRefs)] ObjectID rootRefIds[] );

参数

  • cRootRefs
    [in] rootRefIds 数组中的引用数。

  • rootRefIds
    [in] 一个由引用静态对象或堆栈中的对象的对象 ID 构成的数组。

备注

同时调用了 RootReferencesICorProfilerCallback2::RootReferences2 以便通知探查器。 探查器通常将只实现其中的一个,而不同时实现两者,因为传入 RootReferences2 中的信息是传入 RootReferences 中的信息的超集。

rootRefIds 数组可以包含 Null 对象。 例如,垃圾回收器会将堆栈上声明的所有对象引用都视为根,并且会一直报告这些引用。

RootReferences 返回的对象 ID 在回调期间无效,因为垃圾回收可能正在将对象由旧地址移至新地址。 因此,在 RootReferences 调用期间,探查器决不能尝试检查对象。 当调用 ICorProfilerCallback2::GarbageCollectionFinished 时,所有对象已经移到其新位置并且可以安全地接受检查。

要求

**平台:**请参见 .NET Framework 系统要求

**头文件:**CorProf.idl、CorProf.h

**库:**CorGuids.lib

**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

请参见

参考

ICorProfilerCallback 接口