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