Udostępnij za pośrednictwem


ICorProfilerInfo::GetObjectSize — Metoda

Pobiera rozmiar określonego obiektu.

Składnia

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

Parametry

objectId
[in] Identyfikator obiektu.

pcSize
[out] Wskaźnik do rozmiaru obiektu w bajtach.

Uwagi

Ważne

Ta metoda jest przestarzała. Zwraca COR_E_OVERFLOW dla obiektów większych niż 4 GB na platformach 64-bitowych. Zamiast tego użyj metody ICorProfilerInfo4::GetObjectSize2 .

Różne obiekty tego samego typu często mają ten sam rozmiar. Jednak niektóre typy, takie jak tablice lub ciągi, mogą mieć inny rozmiar dla każdego obiektu.

Rozmiar zwracany przez metodę GetObjectSize nie zawiera żadnego wypełnienia wyrównania, które może pojawić się po tym, jak obiekt znajduje się na stercie odzyskiwania pamięci. Jeśli używasz GetObjectSize metody do przechodzenia od obiektu do obiektu na stercie odzyskiwania pamięci, dodaj dopełnianie wyrównania ręcznie, w razie potrzeby.

  • W 32-bitowych systemach Windows, COR_PRF_GC_GEN_0, COR_PRF_GC_GEN_1 i COR_PRF_GC_GEN_2 używać wyrównania 4-bajtowego, a COR_PRF_GC_LARGE_OBJECT_HEAP używa wyrównania 8 bajtów.

  • W 64-bitowym systemie Windows wyrównanie jest zawsze 8 bajtów.

Wymagania

Platformy: Zobacz Wymagania systemowe.

Nagłówka: CorProf.idl, CorProf.h

Biblioteki: CorGuids.lib

wersje .NET Framework: dostępne od wersji 2.0

Zobacz też