Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Завершает макет полей для класса, определенного перед вызовом метода DefineTypeDef.
Syntax
HRESULT SetClassLayout (
[in] mdTypeDef td,
[in] DWORD dwPackSize,
[in] COR_FIELD_OFFSET rFieldOffsets[],
[in] ULONG ulClassSize
);
Parameters
td [in] Маркер, указывающий mdTypeDef класс, который нужно выложить.
dwPackSize [in] Размер упаковки: 1, 2, 4, 8 или 16 байт. Размер упаковки — это количество байтов между соседними полями.
rFieldOffsets [in] Массив структур COR_FIELD_OFFSET , каждый из которых задает поле класса и смещение поля в классе. Завершите массив с mdTokenNilпомощью .
ulClassSize [in] Размер класса в байтах.
Remarks
Класс изначально определяется путем вызова метода IMetaDataEmit::D efineTypeDef и указания одного из трех макетов для полей класса: автоматического, последовательного или явного. Как правило, вы будете использовать автоматический макет и позволите среде выполнения выбрать оптимальный способ размещения полей.
Однако может потребоваться, чтобы поля, изложенные в соответствии с расположением, который использует неуправляемый код. В этом случае выберите последовательный или явный макет и вызов SetClassLayout , чтобы завершить макет полей:
Последовательный макет: укажите размер упаковки. Поле выравнивается в соответствии с его естественным размером или размером упаковки, в зависимости от того, что приводит к меньшему смещение поля. Задайте
rFieldOffsetsиulClassSizeравное нулю.Явный макет: укажите смещение каждого поля или укажите размер класса и размер упаковки.
Requirements
Платформ: См. сведения о поддерживаемых операционных системах .NET.
Header: Cor.h
Library: CorGuids.lib