Compartilhar via


Método ICorProfilerInfo::GetObjectSize

Obtém o tamanho de um objeto especificado.

Sintaxe

HRESULT GetObjectSize(  
    [in]  ObjectID objectId,  
    [out] ULONG  *pcSize);  

Parâmetros

objectId
[in] O ID de um objeto.

pcSize
[out] Um ponteiro para o tamanho do objeto, em bytes.

Comentários

Importante

Esse método é obsoleto. Ele retorna COR_E_OVERFLOW para objetos maiores que 4 GB em plataformas de 64 bits. Em vez disso, use o método ICorProfilerInfo4::GetObjectSize2.

Objetos diferentes dos mesmos tipos geralmente têm o mesmo tamanho. No entanto, alguns tipos, como matrizes ou cadeias de caracteres, podem ter um tamanho diferente para cada objeto.

O tamanho retornado pelo método GetObjectSize não inclui nenhum preenchimento de alinhamento que possa aparecer depois que o objeto estiver no heap de coleta de lixo. Se você usar o método GetObjectSize para avançar de objeto para objeto no heap de coleta de lixo, adicione o preenchimento de alinhamento manualmente, conforme necessário.

  • No Windows de 32 bits, COR_PRF_GC_GEN_0, COR_PRF_GC_GEN_1 e COR_PRF_GC_GEN_2 usam o alinhamento de 4 bytes e COR_PRF_GC_LARGE_OBJECT_HEAP usa o alinhamento de 8 bytes.

  • No Windows de 64 bits, o alinhamento é sempre de 8 bytes.

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