Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Schließt das Layout von Feldern für eine Klasse ab, die durch einen vorherigen Aufruf der DefineTypeDef-Methode definiert wurde.
Syntax
HRESULT SetClassLayout (
[in] mdTypeDef td,
[in] DWORD dwPackSize,
[in] COR_FIELD_OFFSET rFieldOffsets[],
[in] ULONG ulClassSize
);
Parameters
td [in] Ein mdTypeDef Token, das die zu erstellende Klasse angibt.
dwPackSize [in] Die Verpackungsgröße: 1, 2, 4, 8 oder 16 Byte. Die Verpackungsgröße ist die Anzahl der Bytes zwischen angrenzenden Feldern.
rFieldOffsets [in] Ein Array von COR_FIELD_OFFSET Strukturen, von denen jedes ein Feld der Klasse und den Offset des Felds innerhalb der Klasse angibt. Beenden Sie das Array mit mdTokenNil.
ulClassSize [in] Die Größe der Klasse in Bytes.
Remarks
Die Klasse wird zunächst durch Aufrufen der IMetaDataEmit::D efineTypeDef-Methode definiert und ein von drei Layouts für die Felder der Klasse angegeben: automatisch, sequenziell oder explizit. Normalerweise würden Sie das automatische Layout verwenden und die Laufzeit die beste Möglichkeit zum Layout der Felder auswählen lassen.
Möglicherweise möchten Sie jedoch, dass die Felder gemäß der Anordnung angeordnet sind, die nicht verwalteten Code verwendet. Wählen Sie in diesem Fall entweder sequenzielles oder explizites Layout aus, und rufen Sie SetClassLayout auf, um das Layout der Felder abzuschließen:
Sequenzielles Layout: Geben Sie die Verpackungsgröße an. Ein Feld wird entweder entsprechend seiner natürlichen Größe oder der Verpackungsgröße ausgerichtet, je nachdem, was zum kleineren Offset des Felds führt. Festlegen
rFieldOffsetsundulClassSizeauf Null.Explizites Layout: Geben Sie entweder den Offset jedes Felds an, oder geben Sie die Klassengröße und die Verpackungsgröße an.
Requirements
Plattformen: Siehe .NET unterstützte Betriebssysteme.
Header: Cor.h
Library: CorGuids.lib