Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A megadott osztály által definiált mezők memóriabeli elrendezésével kapcsolatos információkat kap. Ez azt jelzi, hogy ez a metódus lekéri az osztály mezőinek eltolásait.
Syntax
HRESULT GetClassLayout(
[in] ClassID classID,
[in, out] COR_FIELD_OFFSET rFieldOffset[],
[in] ULONG cFieldOffset,
[out] ULONG *pcFieldOffset,
[out] ULONG *pulClassSize);
Parameters
classID [in] Annak az osztálynak az azonosítója, amelyhez lekéri az elrendezést.
rFieldOffset [be, ki] COR_FIELD_OFFSET struktúrák tömbje, amelyek mindegyike az osztály mezőinek jogkivonatait és eltolásait tartalmazza.
cFieldOffset [in] A tömb mérete rFieldOffset .
pcFieldOffset [kifelé] Mutató az elérhető elemek teljes számára. Ha cFieldOffset 0, akkor ez az érték a szükséges elemek számát jelzi.
pulClassSize [kifelé] Mutató egy olyan helyre, amely az osztály méretét tartalmazza bájtban.
Remarks
A GetClassLayout metódus csak az osztály által meghatározott mezőket adja vissza. Ha az osztály szülőosztálya is definiált mezőket, a profilkészítőnek a szülőosztályt kell meghívnia GetClassLayout a mezők beszerzéséhez.
Ha sztringosztályokkal használja GetClassLayout , a metódus E_INVALIDARG hibakóddal hiúsul meg. Az ICorProfilerInfo2::GetStringLayout használatával információt kaphat egy sztring elrendezéséről.
GetClassLayout tömbosztály meghívása esetén is sikertelen lesz.
A visszatérés után GetClassLayout ellenőriznie kell, hogy a rFieldOffset puffer elég nagy volt-e ahhoz, hogy az összes rendelkezésre álló COR_FIELD_OFFSET struktúrát tartalmazza. Ehhez hasonlítsa össze a rámutató értéket pcFieldOffset a struktúra méretével rFieldOffsetCOR_FIELD_OFFSET osztva. Ha rFieldOffset nem elég nagy, foglaljon le egy nagyobb rFieldOffset puffert, frissítsen cFieldOffset az új, nagyobb mérettel, és hívja GetClassLayout újra.
Másik lehetőségként meghívhat GetClassLayout egy nulla hosszúságú rFieldOffset puffert a megfelelő pufferméret beszerzéséhez. Ezután beállíthatja a puffer méretét a visszaadott pcFieldOffset értékre, majd újra hívhatja GetClassLayout .
Requirements
Platformok: Lásd a rendszerkövetelményeket.
Fejléc: CorProf.idl, CorProf.h
Library: CorGuids.lib
.NET-keretrendszerverziók: 2.0 óta érhető el