Propiedades y conjuntos de propiedades
Aunque los tipos de propiedades en tiempo de ejecución que ofrecen Automation y Microsoft ActiveX Controls son importantes, no abordan directamente la necesidad de almacenar información con objetos almacenados de forma persistente en el sistema de archivos. Estas entidades pueden incluir archivos (estructurados, compuestos, etc.), directorios y catálogos de resumen. COM proporciona un formato serializado estándar para estas propiedades persistentes y un conjunto de interfaces y funciones que permiten crear y manipular los conjuntos de propiedades y sus propiedades.
Las propiedades persistentes se almacenan como conjuntos y uno o varios conjuntos se pueden asociar a una entidad del sistema de archivos. Estos conjuntos de propiedades persistentes están diseñados para usarse para almacenar datos adecuados para representarse como una colección de valores específicos. No están diseñados para usarse como base de datos de gran tamaño. Se pueden usar para almacenar información de resumen sobre un objeto en el sistema, al que puede acceder cualquier otro objeto que comprenda cómo interpretar ese conjunto de propiedades.
Las versiones anteriores de COM especificaban muy poco con respecto a las propiedades y su uso, pero definieron un formato serializado que permitía a los desarrolladores almacenar propiedades y conjuntos de propiedades en una instancia de IStorage . También se definieron los identificadores de propiedad y la semántica de un único conjunto de propiedades, que se usan para obtener información de resumen sobre un documento. En ese momento, era necesario crear y manipular esa estructura directamente como un flujo de datos. Consulte Formato de conjunto de propiedades serializados de almacenamiento estructurado.
Sin embargo, COM define dos interfaces principales para administrar conjuntos de propiedades:
Ya no es necesario tratar el formato serializado directamente cuando estas interfaces se implementan en un objeto que admite la interfaz IStorage (como los archivos compuestos). Al escribir propiedades a través de IPropertySetStorage e IPropertyStorage , se crean datos que se ajustan exactamente al formato de conjunto de propiedades COM, tal como se ve a través de métodos IStorage . El contrario también es true: las propiedades escritas en el formato de conjunto de propiedades COM mediante IStorage son visibles a través de IPropertySetStorage e IPropertyStorage (aunque no puede esperar escribir en IStream y tener las propiedades a través de IPropertyStorage inmediatamente disponibles, o viceversa).
La interfaz IPropertySetStorage define métodos que crean y administran conjuntos de propiedades. La interfaz IPropertyStorage manipula directamente las propiedades de un conjunto de propiedades. Al llamar a los métodos de estas interfaces, un desarrollador de aplicaciones puede administrar los conjuntos de propiedades que sean adecuados para una entidad de sistema de archivos determinada. El uso de estas interfaces proporciona una implementación de lectura y escritura optimizada para las propiedades, en lugar de tener una implementación en cada aplicación, donde podría haber cuellos de botella de rendimiento, como búsquedas innecesarias. Puede implementar las interfaces para mejorar el rendimiento, por lo que las propiedades se pueden leer y escribir más rápidamente, por ejemplo, el almacenamiento en caché más eficaz. Además, IPropertyStorage e IPropertySetStorage permiten manipular propiedades en entidades que no admiten IStorage, aunque en general, la mayoría de las aplicaciones no lo harán.
Esta sección contiene los siguientes temas:
- Conjunto de propiedades de información de resumen
- Identificadores de formato de conjunto de propiedades predefinidos
- Conjuntos de propiedades DocumentSummaryInformation y UserDefined
Temas relacionados