ICorProfilerCallback2::GarbageCollectionStarted メソッド
コード プロファイラーに、ガベージ コレクションが開始されたことを通知します。
HRESULT GarbageCollectionStarted(
[in] int cGenerations,
[in, size_is(cGenerations), length_is(cGenerations)] BOOL generationCollected[],
[in] COR_PRF_GC_REASON reason);
パラメーター
cGenerations
[入力] generationCollected 配列のエントリの合計数。generationCollected
[入力] ブール値の配列。配列のインデックスに対応するジェネレーションがこのガベージ コレクションによって収集されている場合は true。それ以外の場合は false。配列には、COR_PRF_GC_GENERATION 列挙体の値のインデックスが付けられ、ジェネレーションを示します。
reason
[入力] ガベージ コレクションが発生した理由を示す COR_PRF_GC_REASON 列挙体の値。
解説
このガベージ コレクションに関するすべてのコールバックは、GarbageCollectionStarted コールバックとそれに対応する ICorProfilerCallback2::GarbageCollectionFinished コールバックの間に発生します。 これらのコールバックは、同じスレッドで発生する必要はありません。
GarbageCollectionStarted コールバックの間に、プロファイラーは元の場所でオブジェクトを検査するのが安全です。 ガベージ コレクション機能は、GarbageCollectionStarted から制御が戻った後、オブジェクトの移動を開始します。 このコールバックから制御が戻った後、プロファイラーは、ICorProfilerCallback2::GarbageCollectionFinished コールバックを受け取るまですべてのオブジェクト ID を無効と見なす必要があります。
必要条件
プラットフォーム: 「.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