Administrar conjuntos de propiedades

Un conjunto de propiedades persistente contiene datos relacionados como propiedades. Cada conjunto de propiedades se identifica con un FMTID y un identificador único global (GUID) que permite a las aplicaciones acceder al conjunto de propiedades para identificar el conjunto de propiedades. A través de esta identificación, la aplicación interpreta las propiedades que contiene el conjunto.

Por ejemplo, las propiedades de formato de caracteres de un procesador de texto o los atributos de representación de un elemento de un programa de dibujo son conjuntos de propiedades.

COM define la interfaz IPropertySetStorage para facilitar la administración de conjuntos de propiedades. A través de los métodos de esta interfaz, puede crear un nuevo conjunto de propiedades o abrir o eliminar un conjunto de propiedades existente. Además, proporciona un método que crea un enumerador y proporciona un puntero a su interfaz IEnumSTATPROPSETSTG . Puede llamar a los métodos de esta interfaz para enumerar estructuras STATPROPSETSTG en el objeto, que proporcionará información sobre todos los conjuntos de propiedades del objeto.

Al crear o abrir una instancia de IPropertyStorage, es similar a abrir un objeto que admita IStorage o IStream, ya que debe especificar el modo de almacenamiento en el que se abre la interfaz. En el caso de IStorage, estos incluyen el modo de transacción, el modo de lectura y escritura y el modo de uso compartido.

Al crear un conjunto de propiedades con una llamada a IPropertySetStorage::Create, especifique si el conjunto de propiedades es simple o no. Un conjunto de propiedades simple contiene tipos que se pueden escribir completamente en el flujo del conjunto de propiedades, que está pensado para estar limitado en tamaño, y no puede tener más de 256 KB en Windows NT 4.0 y versiones anteriores, o 1 MB en Windows 2000, Windows XP y Windows Server 2003. Sin embargo, cuando necesite almacenar una mayor cantidad de información en el conjunto de propiedades, puede especificar que el conjunto de propiedades no sea de ejemplo. Esto le permite usar uno o varios de los tipos que especifican solo un puntero a un objeto de almacenamiento o de secuencia. Estos tipos son VT_STREAM, VT_STREAMED OBJECT, VT_STORAGE y VT_STORED_OBJECT.

Los datos almacenados en estas propiedades no se cuentan con el límite de tamaño establecido por propiedades de 256 KB en Windows NT 4.0 o versiones anteriores, o el límite de 1 MB en Windows 2000, Windows XP y Windows Server 2003. Sin embargo, se aplican datos sobre la propiedad, como su nombre. Además, si necesita una actualización de transacción, el conjunto de propiedades debe ser nomple. Hay, por supuesto, una cierta penalización de rendimiento para abrir estos tipos, ya que requiere abrir el flujo o el objeto de almacenamiento al que tiene el puntero.

Si la aplicación usa archivos compuestos, puede usar la implementación proporcionada por COM de estas interfaces, que se implementan en el objeto de almacenamiento de archivos compuestos COM.

Cada conjunto de propiedades consta principalmente de un grupo de propiedades conectado lógicamente, como se describe en Administración de propiedades.

Para obtener más información sobre los conjuntos de propiedades en COM, vea: