Objetos de almacenamiento y secuencia para un conjunto de propiedades
El programador especifica si un conjunto de propiedades se almacena en un almacenamiento o en una secuencia cuando se crea el conjunto de propiedades. El valor de enumeración PROPSETFLAG_NONSIMPLE, pasado el parámetro grfFlags al método IPropertySetStorage::Create, indica esto. Establecer donde se almacena el conjunto de propiedades proporciona controles de aplicación adecuados para interoperar completamente a través del IPropertySetStorage interfaz con el conjunto de propiedades COM.
Si se establece la marca PROPSETFLAG_NONSIMPLE, el conjunto de propiedades se almacena en un objeto de almacenamiento y los valores de propiedad nomple se pueden escribir en él. Los valores nomple incluyen valores con un VARTYPE de VT_STORAGE, VT_STREAM, VT_STORED_OBJECT o VT_STREAMED_OBJECT. Para obtener más información sobre valores de VARTYPE y cómo usarlos, consulte la estructura PROPVARIANT.
Si no se establece la marca PROPSETFLAG_NONSIMPLE, solo se pueden escribir valores simples en el conjunto de propiedades.
En el objeto de almacenamiento de un conjunto de propiedades nomple, se crea una secuencia denominada Contents. Esta es la secuencia principal del conjunto de propiedades y contiene todos los valores de propiedad simples. Los valores de propiedad nomple (secuencias y almacenamientos) se almacenan en el objeto de almacenamiento principal de la propiedad establecida como substreams y storages. Es decir, estos valores nomple se almacenan como elementos del mismo nivel en la secuencia Contenido. El nombre de las secuencias y almacenamientos del mismo nivel viene determinado por la implementación y se almacena en el flujo Contenido de forma similar a la forma en que se almacena una propiedad de cadena simple.