Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Completa il layout dei campi per una classe definita da una chiamata precedente al metodo DefineTypeDef.
Syntax
HRESULT SetClassLayout (
[in] mdTypeDef td,
[in] DWORD dwPackSize,
[in] COR_FIELD_OFFSET rFieldOffsets[],
[in] ULONG ulClassSize
);
Parameters
td [in] Token mdTypeDef che specifica la classe da disporre.
dwPackSize [in] Dimensione di compressione: 1, 2, 4, 8 o 16 byte. La dimensione di compressione è il numero di byte tra i campi adiacenti.
rFieldOffsets [in] Matrice di strutture COR_FIELD_OFFSET , ognuna delle quali specifica un campo della classe e l'offset del campo all'interno della classe . Terminare la matrice con mdTokenNil.
ulClassSize [in] Dimensione, in byte, della classe .
Remarks
La classe viene inizialmente definita chiamando il metodo IMetaDataEmit::D efineTypeDef e specificando uno dei tre layout per i campi della classe: automatico, sequenziale o esplicito. In genere, si usa il layout automatico e si lascia che il runtime scelga il modo migliore per disporre i campi.
Tuttavia, è possibile che i campi siano disposti in base alla disposizione usata dal codice non gestito. In questo caso, scegliere layout sequenziale o esplicito e chiamare SetClassLayout per completare il layout dei campi:
Layout sequenziale: specificare le dimensioni di compressione. Un campo viene allineato in base alla dimensione naturale o alla dimensione di compressione, a seconda del risultato dell'offset più piccolo del campo. Impostare
rFieldOffsetseulClassSizesu zero.Layout esplicito: specificare l'offset di ogni campo o specificare le dimensioni della classe e la dimensione di compressione.
Requirements
Piattaforme: Vedere Sistemi operativi supportati da .NET.
Header: Cor.h
Library: CorGuids.lib