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.
Dokončí rozložení polí pro třídu, která byla definována předchozím voláním DefineTypeDef – metoda.
Syntax
HRESULT SetClassLayout (
[in] mdTypeDef td,
[in] DWORD dwPackSize,
[in] COR_FIELD_OFFSET rFieldOffsets[],
[in] ULONG ulClassSize
);
Parameters
td [v] Token mdTypeDef , který určuje třídu, která má být rozložena.
dwPackSize [v] Velikost balení: 1, 2, 4, 8 nebo 16 bajtů. Velikost balení je počet bajtů mezi sousedními poli.
rFieldOffsets [v] Pole COR_FIELD_OFFSET struktur, z nichž každý určuje pole třídy a posun pole v rámci třídy. Ukončete pole pomocí mdTokenNilfunkce .
ulClassSize [v] Velikost třídy v bajtech.
Remarks
Třída je původně definována voláním IMetaDataEmit::D efineTypeDef metoda a určením jednoho ze tří rozložení pro pole třídy: automatické, sekvenční nebo explicitní. Za normálních okolností byste použili automatické rozložení a nechat modul runtime zvolit nejlepší způsob rozložení polí.
Můžete ale chtít pole rozložená podle uspořádání, které nespravovaný kód používá. V tomto případě zvolte sekvenční nebo explicitní rozložení a volání SetClassLayout pro dokončení rozložení polí:
Sekvenční rozložení: Zadejte velikost balení. Pole je zarovnané podle jeho přirozené velikosti nebo velikosti balení, podle toho, co má za následek menší posun pole. Nastavte
rFieldOffsetsaulClassSizena nulu.Explicitní rozložení: Zadejte posun každého pole nebo zadejte velikost třídy a velikost balení.
Requirements
Platformy: Viz podporované operační systémy .NET.
Header: Cor.h
Library: CorGuids.lib