Partilhar via


Método ICorProfilerCallback::ObjectReferences

Notifica o gerador de perfis sobre objetos na memória que estão a ser referenciados pelo objeto especificado.

Sintaxe

HRESULT ObjectReferences(  
    [in]  ObjectID objectId,  
    [in]  ClassID  classId,  
    [in]  ULONG    cObjectRefs,  
    [in, size_is(cObjectRefs)] ObjectID objectRefIds[] );  

Parâmetros

objectId
[in] O ID do objeto que está a referenciar objetos.

classId
[in] O ID da classe da qual o objeto especificado é uma instância.

cObjectRefs
[in] O número de objetos referenciados pelo objeto especificado (ou seja, o número de elementos na objectRefIds matriz).

objectRefIds
[in] Uma matriz de IDs de objetos que estão a ser referenciados por objectId.

Observações

O ObjectReferences método é chamado para cada objeto que permanece na área dinâmica para dados após a conclusão de uma libertação da memória. Se o gerador de perfis devolver um erro desta chamada de retorno, os serviços de criação de perfis deixarão de invocar esta chamada de retorno até à próxima libertação da memória.

A ObjectReferences chamada de retorno pode ser utilizada em conjunto com a chamada de retorno ICorProfilerCallback::RootReferences para criar um gráfico de referência de objeto completo para o runtime. O runtime de linguagem comum (CLR) garante que cada referência de objeto é reportada apenas uma vez pelo ObjectReferences método .

Os IDs de objeto devolvidos por ObjectReferences não são válidos durante a chamada de retorno propriamente dita, porque a libertação da memória pode estar no meio de objetos em movimento. Por conseguinte, os geradores de perfis não podem tentar inspecionar objetos durante uma ObjectReferences chamada. Quando iCorProfilerCallback2::GarbageCollectionFinished é chamado, a libertação da memória é concluída e a inspeção pode ser feita em segurança.

Um valor nulo ClassId indica que objectId tem um tipo que está a descarregar.

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