Partilhar via


Método ICorProfilerCallback2::GarbageCollectionStarted

Notifica o gerador de perfis de código de que a libertação da memória foi iniciada.

Sintaxe

HRESULT GarbageCollectionStarted(  
    [in] int cGenerations,  
    [in, size_is(cGenerations), length_is(cGenerations)] BOOL generationCollected[],  
    [in] COR_PRF_GC_REASON reason);  

Parâmetros

cGenerations
[in] O número total de entradas na generationCollected matriz.

generationCollected
[in] Uma matriz de valores booleanos, que são true se a geração que corresponde ao índice de matriz estiver a ser recolhida por esta libertação da memória; caso contrário, false.

A matriz é indexada por um valor da enumeração COR_PRF_GC_GENERATION , que indica a geração.

reason
[in] Um valor da enumeração COR_PRF_GC_REASON que indica a razão pela qual a libertação da memória foi induzida.

Observações

Todas as chamadas de retorno relativas a esta libertação da memória ocorrerão entre a GarbageCollectionStarted chamada de retorno e a chamada de retorno ICorProfilerCallback2::GarbageCollectionFinished correspondente. Estas chamadas de retorno não têm de ocorrer no mesmo thread.

É seguro que o gerador de perfis inspecione os objetos nas respetivas localizações originais durante a GarbageCollectionStarted chamada de retorno. O recoletor de lixo começará a mover objetos após a devolução de GarbageCollectionStarted. Depois de o gerador de perfis ter devolvido esta chamada de retorno, o gerador de perfis deve considerar todos os IDs de objeto inválidos até receber uma ICorProfilerCallback2::GarbageCollectionFinished chamada de retorno.

Requisitos

Plataformas: Veja Requisitos de Sistema.

Cabeçalho: CorProf.idl, CorProf.h

Biblioteca: CorGuids.lib

.NET Framework Versões: Disponível desde 2.0

Ver também