次の方法で共有


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 コールバックを受け取るまで、すべてのオブジェクト ID を無効であると見なす必要があります。

必要条件

:システム要件」を参照してください。

ヘッダー : CorProf.idl、CorProf.h

ライブラリ: CorGuids.lib

.NET Framework のバージョン: 2.0 以降で使用可能

関連項目