ICorProfilerCallback2::GarbageCollectionStarted 方法

通知代码探查器已启动垃圾回收。

HRESULT GarbageCollectionStarted(
    [in] int cGenerations,
    [in, size_is(cGenerations), length_is(cGenerations)] BOOL generationCollected[],
    [in] COR_PRF_GC_REASON reason);

参数

  • cGenerations
    [in] generationCollected 数组中的总项数。

  • generationCollected
    [in] 一个布尔值数组,如果与数组索引相对应的代要由此垃圾回收收集,则为 true;否则为 false。

    该数组使用指示代的 COR_PRF_GC_GENERATION 枚举值编制索引。

  • reason
    [in] 一个 COR_PRF_GC_REASON 枚举值,指示引发垃圾回收的原因。

备注

所有与此垃圾回收相关的回调都将在 GarbageCollectionStarted 回调和相应的 ICorProfilerCallback2::GarbageCollectionFinished 回调之间发生。 在同一线程中,不需要发生这些回调。

GarbageCollectionStarted 回调期间,探查器可以安全地在对象的原始位置中对它们进行检查。 在从 GarbageCollectionStarted 返回后,垃圾回收器将开始移动对象。 当探查器从此回调返回后,应将所有对象 ID 视为无效 ID,直至收到 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 接口

ICorProfilerCallback2 接口