Partilhar via


Método ICorProfilerCallback::RootReferences

Notifica o gerador de perfis com informações sobre referências de raiz após a libertação da memória.

Sintaxe

HRESULT RootReferences(  
    [in] ULONG    cRootRefs,  
    [in, size_is(cRootRefs)] ObjectID rootRefIds[] );  

Parâmetros

cRootRefs
[in] O número de referências na rootRefIds matriz.

rootRefIds
[in] Uma matriz de IDs de objeto que referenciam um objeto estático ou um objeto na pilha.

Observações

Tanto iCorProfilerCallback2::RootReferences2 são chamados para notificar o gerador de perfis.RootReferences Normalmente, os geradores de perfis implementam um ou outro, mas não ambos, porque as informações transmitidas são RootReferences2 um superconjunto do que foi transmitido em RootReferences.

É possível que a rootRefIds matriz contenha um objeto nulo. Por exemplo, todas as referências de objeto declaradas na pilha são tratadas como raízes pelo recoletor de lixo e serão sempre comunicadas.

Os IDs de objeto devolvidos por RootReferences não são válidos durante a chamada de retorno propriamente dita, porque a libertação da memória pode estar no meio da movimentação de objetos de endereços antigos para novos endereços. Por conseguinte, os geradores de perfis não podem tentar inspecionar objetos durante uma RootReferences chamada. Quando ICorProfilerCallback2::GarbageCollectionFinished é chamado, todos os objetos foram movidos para as suas novas localizações e podem ser inspecionados em segurança.

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