Compartilhar via


Método ICorProfilerCallback::RootReferences

Notifica o criador de perfil com informações sobre referências raiz após a coleta de lixo.

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 fazem referência a um objeto estático ou a um objeto na pilha.

Comentários

Tanto RootReferences quanto ICorProfilerCallback2::RootReferences2 são chamados para notificar o criador de perfil. Os criadores de perfil normalmente implementarão um método ou outro, mas não ambos, porque as informações passadas em RootReferences2 são um superconjunto do que foi passado em RootReferences.

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

As IDs de objeto retornadas por RootReferences não são válidas durante o retorno de chamada em si, pois a coleta de lixo pode estar no meio da movimentação de objetos de endereços antigos para novos endereços. Portanto, os criadores de perfis não devem tentar inspecionar objetos durante uma chamada RootReferences. Quando ICorProfilerCallback2::GarbageCollectionFinished é chamado, todos os objetos já foram movidos para seus novos locais e podem ser inspecionados com segurança.

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: CorProf.idl, CorProf.h

Biblioteca: CorGuids.lib

Versões do .NET Framework: disponíveis desde 2.0

Confira também