ICorProfilerCallback2::GarbageCollectionStarted Method
Notifies the code profiler that garbage collection has started.
Syntax
HRESULT GarbageCollectionStarted(
[in] int cGenerations,
[in, size_is(cGenerations), length_is(cGenerations)] BOOL generationCollected[],
[in] COR_PRF_GC_REASON reason);
Parameters
cGenerations
[in] The total number of entries in the generationCollected
array.
generationCollected
[in] An array of Boolean values, which are true
if the generation that corresponds to the array index is being collected by this garbage collection; otherwise, false
.
The array is indexed by a value of the COR_PRF_GC_GENERATION enumeration, which indicates the generation.
reason
[in] A value of the COR_PRF_GC_REASON enumeration that indicates the reason the garbage collection was induced.
Remarks
All callbacks that pertain to this garbage collection will occur between the GarbageCollectionStarted
callback and the corresponding ICorProfilerCallback2::GarbageCollectionFinished callback. These callbacks need not occur on the same thread.
It is safe for the profiler to inspect objects in their original locations during the GarbageCollectionStarted
callback. The garbage collector will begin moving objects after the return from GarbageCollectionStarted
. After the profiler has returned from this callback, the profiler should consider all object IDs to be invalid until it receives a ICorProfilerCallback2::GarbageCollectionFinished
callback.
Requirements
Platforms: See System Requirements.
Header: CorProf.idl, CorProf.h
Library: CorGuids.lib
.NET Framework Versions: Available since 2.0