Método de IMetaDataEmit::SetClassLayout
Conclui o layout dos campos de uma classe que tenha sido definida por uma chamada anterior a Método de IMetaDataEmit::DefineTypeDef.
HRESULT SetClassLayout (
[in] mdTypeDef td,
[in] DWORD dwPackSize,
[in] COR_FIELD_OFFSET rFieldOffsets[],
[in] ULONG ulClassSize
);
Parâmetros
td
[in] Um mdTypeDef token que especifica a classe para ser apresentado-out.dwPackSize
[in] O tamanho de remessa: 1, 2, 4, 8 ou 16 bytes. O tamanho de remessa é o número de bytes entre campos adjacentes.rFieldOffsets
[in] Uma matriz de COR_FIELD_OFFSET estruturas, cada uma das quais Especifica um campo da classe e o campo de deslocamento dentro da classe. Encerrar a matriz com mdTokenNil.ulClassSize
[in] O tamanho em bytes, da classe.
Comentários
Inicialmente, a classe é definida, chamando o IMetaDataEmit::DefineTypeDef método e especificando um dos três layouts para os campos da classe: automático, explícito ou seqüencial. Normalmente, você seria usar layout automático e deixar que o runtime escolha a melhor maneira de dispor os campos.
No entanto, convém campos dispostos de acordo com para a organização que não gerenciados usos de código. Nesse caso, escolha layout seqüencial ou explícito e chamada SetClassLayout para concluir o layout dos campos:
Layout seqüencial: Especifique o tamanho de remessa. Um campo de alinhamento de acordo com o seu tamanho natural ou o tamanho de remessa, que resulta no deslocamento menor do campo. Definir rFieldOffsets e ulClassSize a zero.
Layout explícito: Especifique o deslocamento de cada campo ou especificar o tamanho de classe e o tamanho de remessa.
Requisitos
Plataformas: Consulte Requisitos de sistema do .NET Framework.
Cabeçalho: Cor.h
Biblioteca: Usado como um recurso em mscoree
.NET Framework versões: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0