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