IMetaDataEmit::SetClassLayout, méthode
Mise à jour : novembre 2007
Exécute la disposition des champs pour une classe définie par un appel précédent de IMetaDataEmit::DefineTypeDef, méthode.
HRESULT SetClassLayout (
[in] mdTypeDef td,
[in] DWORD dwPackSize,
[in] COR_FIELD_OFFSET rFieldOffsets[],
[in] ULONG ulClassSize
);
Paramètres
td
[in] Jeton mdTypeDef qui spécifie la classe à disposer.dwPackSize
[in] Taille de compression : 1, 2, 4, 8 ou 16 octets. La taille de compression correspond au nombre d'octets entre des champs adjacents.rFieldOffsets
[in] Tableau de structures COR_FIELD_OFFSET qui spécifient chacune un champ de la classe et l'offset du champ dans la classe. Terminez le tableau avec mdTokenNil.ulClassSize
[in] Taille, en octets, de la classe.
Notes
La classe est définie initialement en appelant la méthode IMetaDataEmit::DefineTypeDef et en spécifiant l'une des trois dispositions pour les champs de la classe : automatique, séquentielle ou explicite. Normalement, vous utilisez la disposition automatique et laissez l'exécution choisir la meilleure disposition pour les champs.
Toutefois, vous souhaitez peut-être que les champs soient présentés selon la disposition utilisée par le code non managé. Dans ce cas, choisissez la disposition séquentielle ou explicite et appelez SetClassLayout pour exécuter la disposition des champs :
Disposition séquentielle : spécifiez la taille de compression. Un champ est aligné d'après sa taille naturelle ou la taille de compression, selon l'offset le plus petit du champ. Affectez la valeur zéro à rFieldOffsets et ulClassSize.
Disposition explicite : spécifiez l'offset de chaque champ ou spécifiez la taille de classe et la taille de compression.
Configuration requise
Plateformes : consultez Configuration requise du .NET Framework.
En-tête : Cor.h
Bibliothèque : utilisée en tant que ressource dans MSCorEE.dll
Versions du .NET Framework : 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0