Compartilhar via


Método IMetaDataEmit::SetClassLayout

Conclusão do layout dos campos de uma classe que tenha sido definido por uma telefonar anterior a Método IMetaDataEmit::DefineTypeDef.

HRESULT SetClassLayout (
    [in]  mdTypeDef           td, 
    [in]  DWORD               dwPackSize, 
    [in]  COR_FIELD_OFFSET    rFieldOffsets[], 
    [in]  ULONG               ulClassSize 
);

Parâmetros

  • td
    [in] An mdTypeDef símbolo que especifica a classe a ser apresentado.

  • dwPackSize
    [in] O dimensionar de remessa: 1, 2, 4, 8 ou 16 bytes. O dimensionar 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 de deslocamento do campo dentro da classe. terminar o array com mdTokenNil.

  • ulClassSize
    [in] O dimensionar, em bytes, da classe.

Comentários

A classe é definida inicialmente 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, usassem o layout automático e permitir que o tempo de execução escolhe a melhor maneira de formatar os campos.

No entanto, convém campos layout estabelecidos de acordo com a organização não gerenciados usos de código. Nesse caso, escolher seqüencial ou explícita layout e telefonar SetClassLayout para concluir o layout dos campos de:

  • Layout seqüencial: Especifique o dimensionar de remessa. Um campo é alinhado acordo com a seu dimensionar natural ou o dimensionar de remessa, qualquer que seja resultados no deslocamento menor do campo. conjunto rFieldOffsets e ulClassSize a zero.

  • Layout explícito: Especifique o deslocamento de cada campo ou especificar o dimensionar de classe e o dimensionar de remessa.

Requisitos

Plataformas: See Requisitos de sistema do .NET framework.

Cabeçalho: Cor.h

Biblioteca: Usado sistema autônomo um recurso em MSCorEE.dll

.NET Framework Versions: 3.5 SP1, 3,5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Consulte também

Referência

Interface IMetaDataEmit

Interface IMetaDataEmit2