Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Conclui o layout de campos para uma classe que foi definida por uma chamada anterior ao Método DefineTypeDef.
Syntax
HRESULT SetClassLayout (
[in] mdTypeDef td,
[in] DWORD dwPackSize,
[in] COR_FIELD_OFFSET rFieldOffsets[],
[in] ULONG ulClassSize
);
Parameters
td [in] Um mdTypeDef token que especifica a classe a ser definida.
dwPackSize [in] O tamanho da embalagem: 1, 2, 4, 8 ou 16 bytes. O tamanho da embalagem é o número de bytes entre campos adjacentes.
rFieldOffsets [in] Uma matriz de estruturas COR_FIELD_OFFSET , cada uma especificando um campo da classe e o deslocamento do campo dentro da classe. Encerrar a matriz com mdTokenNil.
ulClassSize [in] O tamanho, em bytes, da classe.
Remarks
A classe é inicialmente definida chamando o método IMetaDataEmit::D efineTypeDef e especificando um dos três layouts para os campos da classe: automático, sequencial ou explícito. Normalmente, você usaria o layout automático e permitiria que o runtime escolhesse a melhor maneira de definir os campos.
No entanto, talvez você queira que os campos sejam definidos de acordo com a disposição que o código não gerenciado usa. Nesse caso, escolha o layout sequencial ou explícito e chame SetClassLayout para concluir o layout dos campos:
Layout sequencial: especifique o tamanho da embalagem. Um campo é alinhado de acordo com seu tamanho natural ou o tamanho da embalagem, o que resultar no deslocamento menor do campo. Defina
rFieldOffsetseulClassSizeseja zero.Layout explícito: especifique o deslocamento de cada campo ou especifique o tamanho da classe e o tamanho da embalagem.
Requirements
Plataformas: Consulte sistemas operacionais com suporte do .NET.
Header: Cor.h
Library: CorGuids.lib