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.
Las propiedades reales siguen la tabla de valores establecidos de propiedades Identificadores de propiedad/Pares de desplazamiento. Cada propiedad se almacena como un DWORD, seguido del valor del tipo de datos.
Los indicadores de tipo y sus valores asociados se describen en la estructura dePROPVARIANT.
Todos los pares tipo/valor deben comenzar en un límite de 32 bits. Por lo tanto, los valores se pueden seguir con bytes NULL para alinear el par posterior en un límite de 32 bits.
En el código de ejemplo siguiente se calcula el número de bytes necesarios para alinearse en un límite de 32 bits, dado un recuento de bytes.
cbAdd = (((cbCurrent + 3) >> 2) << 2) - cbCurrent ;
Dentro de un vector de valores, cada repetición de un valor escalar simple menor que 32 bits debe alinearse con su alineación natural en lugar de con una alineación de 32 bits. En la práctica, esto solo es significativo para los tipos VT_UI1, VT_UI2, VT_I2y VT_BOOL (que tienen alineación natural de un byte o de dos bytes). Todos los demás tipos tienen alineación natural de cuatro bytes. Algunos tipos, por ejemplo, VT_R8, tienen realmente una alineación natural de 8 bytes, pero se almacenan como si tuvieran alineación de cuatro bytes.
Un valor de propiedad con el indicador de tipo VT_I2 | VT_VECTOR incluiría:
- Recuento de elementos DWORD.
- Secuencia de enteros empaquetados de dos bytes sin relleno nulo entre ellos.
Importante
Los tipos de propiedad o recuentos de 32 bits que se almacenan como parte de un elemento de propiedad vectorial también deben estar alineados de 32 bits.
Un valor de propiedad del identificador de tipo VT_LPSTR | VT_VECTOR incluiría:
- Recuento de elementos DWORD (DWORDcElems).
- Secuencia de cadenas (charrgch[]), cada una precedida por un recuento de longitud DWORD y posiblemente seguido de relleno nulo para redondear a un límite de 32 bits.