Метод ICorProfilerInfo::GetObjectSize

Возвращает размер указанного объекта.

Синтаксис

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

Параметры

objectId
[in] Идентификатор объекта .

pcSize
[out] Указатель на размер объекта в байтах.

Комментарии

Важно!

Этот метод устарел. Он возвращает COR_E_OVERFLOW для объектов объемом более 4 ГБ на 64-разрядных платформах. Вместо этого используйте метод ICorProfilerInfo4::GetObjectSize2 .

Разные объекты одного типа часто имеют одинаковый размер. Однако некоторые типы, например массивы или строки, могут иметь разные размеры для каждого объекта.

Размер, возвращаемый методом GetObjectSize , не включает выравнивание, которое может появиться после того, как объект находится в куче сборки мусора. Если вы используете GetObjectSize метод для перехода от объекта к объекту в куче сборки мусора, при необходимости добавьте выравнивание вручную.

  • В 32-разрядной версии Windows COR_PRF_GC_GEN_0, COR_PRF_GC_GEN_1 и COR_PRF_GC_GEN_2 используют 4-байтовое выравнивание, а COR_PRF_GC_LARGE_OBJECT_HEAP — 8-байтовое выравнивание.

  • В 64-разрядной версии Windows выравнивание всегда равно 8 байтам.

Требования

Платформы: см. раздел Требования к системе.

Заголовок: CorProf.idl, CorProf.h

Библиотека: CorGuids.lib

версии платформа .NET Framework: доступно с версии 2.0.

См. также раздел