Метод 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.