Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Získá informace o rozložení v paměti polí definovaných zadanou třídou. To znamená, že tato metoda získá posuny polí třídy.
Syntax
HRESULT GetClassLayout(
[in] ClassID classID,
[in, out] COR_FIELD_OFFSET rFieldOffset[],
[in] ULONG cFieldOffset,
[out] ULONG *pcFieldOffset,
[out] ULONG *pulClassSize);
Parameters
classID [v] ID třídy, pro kterou se rozložení načte.
rFieldOffset [in, out] Pole COR_FIELD_OFFSET struktur, z nichž každý obsahuje tokeny a posuny polí třídy.
cFieldOffset [v] Velikost rFieldOffset pole.
pcFieldOffset [ven] Ukazatel na celkový počet dostupných prvků. Pokud cFieldOffset je 0, tato hodnota označuje počet potřebných prvků.
pulClassSize [ven] Ukazatel na umístění, které obsahuje velikost třídy v bajtech.
Remarks
Metoda GetClassLayout vrátí pouze pole definovaná samotnou třídou. Pokud nadřazená třída třídy má také definovaná pole, profiler musí volat GetClassLayout nadřazenou třídu, aby tato pole získal.
Pokud použijete GetClassLayout s řetězcovými třídami, metoda selže s kódem chyby E_INVALIDARG. K získání informací o rozložení řetězce použijte ICorProfilerInfo2::GetStringLayout .
GetClassLayout dojde také k selhání při zavolání s maticovou třídou.
Po GetClassLayout vrácení je nutné ověřit, že rFieldOffset vyrovnávací paměť byla dostatečně velká, aby obsahovala všechny dostupné COR_FIELD_OFFSET struktury. Uděláte to tak, že porovnáte hodnotu, na kterou pcFieldOffset odkazujete, s velikostí rFieldOffset dělenou velikostí COR_FIELD_OFFSET struktury. Pokud rFieldOffset není dostatečně velký, přidělte větší rFieldOffset vyrovnávací paměť, aktualizujte cFieldOffset novou, větší velikost a znovu volejte GetClassLayout .
Případně můžete nejprve zavolat GetClassLayout vyrovnávací paměť s nulovou délkou rFieldOffset , abyste získali správnou velikost vyrovnávací paměti. Velikost vyrovnávací paměti pak můžete nastavit na hodnotu vrácenou a pcFieldOffset znovu zavolat GetClassLayout .
Requirements
Platformy: Viz požadavky na systém.
Záhlaví: CorProf.idl, CorProf.h
Library: CorGuids.lib
verze rozhraní .NET Framework: k dispozici od verze 2.0