Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Completa el diseño de los campos de una clase definida por una llamada anterior al método DefineTypeDef.
Syntax
HRESULT SetClassLayout (
[in] mdTypeDef td,
[in] DWORD dwPackSize,
[in] COR_FIELD_OFFSET rFieldOffsets[],
[in] ULONG ulClassSize
);
Parameters
td [in] Token mdTypeDef que especifica la clase que se va a establecer.
dwPackSize [in] Tamaño de empaquetado: 1, 2, 4, 8 o 16 bytes. El tamaño de empaquetado es el número de bytes entre campos adyacentes.
rFieldOffsets [in] Matriz de COR_FIELD_OFFSET estructuras, cada una de las cuales especifica un campo de la clase y el desplazamiento del campo dentro de la clase . Finalice la matriz con mdTokenNil.
ulClassSize [in] Tamaño, en bytes, de la clase .
Remarks
La clase se define inicialmente llamando al método IMetaDataEmit::D efineTypeDef y especificando uno de los tres diseños para los campos de la clase: automático, secuencial o explícito. Normalmente, usaría el diseño automático y dejaría que el entorno de ejecución elija la mejor manera de diseñar los campos.
Sin embargo, es posible que desee que los campos se establezcan según la disposición que usa el código no administrado. En este caso, elija un diseño secuencial o explícito y llame SetClassLayout a para completar el diseño de los campos:
Diseño secuencial: especifique el tamaño de empaquetado. Un campo se alinea según su tamaño natural o el tamaño de empaquetado, lo que tenga como resultado el desplazamiento más pequeño del campo. Establezca
rFieldOffsetsyulClassSizeen cero.Diseño explícito: especifique el desplazamiento de cada campo o especifique el tamaño de clase y el tamaño de empaquetado.
Requirements
Plataformas: Consulte Sistemas operativos compatibles con .NET.
Header: Cor.h
Library: CorGuids.lib