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 傳回資料後開始移動物件。 從這個回呼傳回分析工具後,分析工具應該會將所有物件識別碼視為無效,直到其收到 ICorProfilerCallback2::GarbageCollectionFinished 回呼為止。

規格需求

平台:請參閱系統需求

標頭: CorProf.idl、CorProf.h

程式庫:CorGuids.lib

.NET Framework版本:自 2.0 起提供

另請參閱