Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A DefineTypeDef metódus előzetes hívása által definiált osztály mezőinek elrendezését végzi el.
Syntax
HRESULT SetClassLayout (
[in] mdTypeDef td,
[in] DWORD dwPackSize,
[in] COR_FIELD_OFFSET rFieldOffsets[],
[in] ULONG ulClassSize
);
Parameters
td [in] A mdTypeDef lefektetendő osztályt meghatározó jogkivonat.
dwPackSize [in] A csomagolás mérete: 1, 2, 4, 8 vagy 16 bájt. A csomagolás mérete a szomszédos mezők közötti bájtok száma.
rFieldOffsets [in] COR_FIELD_OFFSET struktúrák tömbje, amelyek mindegyike az osztály egy mezőjét és a mező eltolását határozza meg az osztályon belül. Állítsa le a tömböt a következővel mdTokenNil: .
ulClassSize [in] Az osztály mérete bájtban.
Remarks
Az osztály kezdetben az IMetaDataEmit::D efineTypeDef metódus meghívásával és az osztály mezőinek egyikének megadásával határozható meg: automatikus, szekvenciális vagy explicit. Általában automatikus elrendezést használna, és hagyja, hogy a futtatókörnyezet válassza ki a legjobb módot a mezők elrendezésére.
Előfordulhat azonban, hogy a mezőket a nem felügyelt kód által használt elrendezés szerint szeretné elhelyezni. Ebben az esetben válasszon szekvenciális vagy explicit elrendezést, és hívja meg SetClassLayout a mezők elrendezésének befejezéséhez:
Szekvenciális elrendezés: Adja meg a csomagolás méretét. A mezők a természetes méretnek vagy a csomagolási méretnek megfelelően vannak igazítva, attól függően, hogy melyik a mező kisebb eltolása. Állítsa be
rFieldOffsetsésulClassSizeállítsa nullára.Explicit elrendezés: Adja meg az egyes mezők eltolását, vagy adja meg az osztály méretét és a csomagolás méretét.
Requirements
Platformok: Lásd: .NET által támogatott operációs rendszerek.
Header: Cor.h
Library: CorGuids.lib