ICorProfilerInfo::GetObjectSize 方法

获取指定对象的大小。

语法

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

参数

objectId
[in] 对象 ID。

pcSize
[out] 指向对象大小的指针(以字节为单位)。

注解

重要

此方法已过时。 对于 64 位平台上大于 4GB 的对象,它返回 COR_E_OVERFLOW。 请改用 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 起可用

另请参阅