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] 布林值的陣列,如果對應至陣列索引的層代 (Generation) 正由此記憶體回收所回收,則為 true,否則為 false。此陣列是透過表示層代之 COR_PRF_GC_GENERATION 列舉型別的值進行索引。
reason
[in] COR_PRF_GC_REASON 列舉型別的值,表示引發此記憶體回收的原因。
備註
所有記憶體回收有關的回呼都將在 GarbageCollectionStarted 回呼和相對應的 ICorProfilerCallback2::GarbageCollectionFinished 回呼之間發生。 不需要在相同的執行緒上發生這些回呼。
在 GarbageCollectionStarted 呼叫期間,分析工具可以安全檢查在其原始位置上的物件。 從 GarbageCollectionStarted 傳回之後,記憶體回收行程會開始移動物件。 在分析工具從此回收傳回之後,分析工具應將所有物件 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