Compartir a través de


Implementación independiente de IPropertySetStorage

La implementación independiente proporcionada por el sistema de IPropertySetStorage incluye una implementación de IPropertyStorage e IPropertySetStorage. IPropertyStorage es la interfaz que lee y escribe propiedades en un almacenamiento de conjunto de propiedades. IPropertySetStorage es la interfaz que crea y abre conjuntos de propiedades en un almacenamiento. Las interfaces IEnumSTATPROPSTG e IEnumSTATPROPSETSTG también se proporcionan en la implementación independiente.

Para usar la implementación independiente de IPropertySetStorage, primero obtenga un puntero a la implementación independiente proporcionada por el sistema y asocie la implementación proporcionada por el sistema con el objeto de almacenamiento. Para obtener un puntero a la implementación independiente de IPropertySetStorage, llame a la función StgCreatePropSetStg y proporcione el parámetro pStorage que especifica el objeto de almacenamiento que contendrá el conjunto de propiedades. Esta función proporciona un puntero a la nueva interfaz IPropertySetStorage para el objeto de almacenamiento especificado.

La implementación independiente de IPropertySetStorage crea conjuntos de propiedades en cualquier objeto de almacenamiento, no solo en los almacenamientos de archivos compuestos. La implementación independiente no depende de los archivos compuestos y se puede usar con cualquier implementación de almacenamiento estructurado. Las restricciones en los almacenamientos estructurados proporcionados por el autor de la llamada se aplican a esta implementación de conjuntos de propiedades. Por ejemplo, si proporciona un almacenamiento en modo simple a StgOpenPropStg, el IPropertySetStorage resultante estará restringido por el IStorage proporcionado.

Para obtener más información sobre la implementación de archivos compuestos de esta interfaz, vea la sección IPropertySetStorage-Compound File Implementation.

Casos en los que se debe usar

Llame a los métodos de IPropertySetStorage para crear, abrir y eliminar conjuntos de propiedades en cualquier almacenamiento estructurado. También hay un método que proporciona un puntero al enumerador IEnumSTATPROPSETSTG que se puede usar para enumerar los conjuntos de propiedades en el almacenamiento.

La implementación independiente también proporciona las funciones auxiliares StgCreatePropStg y StgOpenPropStg , además de los métodos Create y Open , para crear y abrir conjuntos de propiedades. Estas dos funciones agregan compatibilidad con el valor de PROPSETFLAG_UNBUFFERED para que pueda escribir cambios directamente en el conjunto de propiedades en lugar de almacenarlos en búfer en una memoria caché. Para obtener más información, vea Constantes PROPSETFLAG.

Métodos

La implementación independiente de IPropertySetStorage admite los métodos siguientes.

IPropertySetStorage::Create

Crea una nueva propiedad establecida en el almacenamiento y devuelve un puntero a la interfaz IPropertyStorage en el conjunto de propiedades.

Si tiene previsto usar el valor de PROPSETFLAG_UNBUFFERED, use la función StgCreatePropStg en su lugar para crear y abrir el nuevo conjunto de propiedades y obtener un puntero a la implementación independiente de la interfaz IPropertyStorage en el conjunto de propiedades.

IPropertySetStorage::Open

Abre una propiedad existente establecida en el almacenamiento y devuelve un puntero a la interfaz IPropertyStorage en el conjunto de propiedades.

Si tiene previsto usar el valor de PROPSETFLAG_UNBUFFERED, use la función StgOpenPropStg en su lugar para obtener un puntero a la implementación independiente de IPropertyStorage en el conjunto de propiedades especificado.

IPropertySetStorage::D elete

Elimina un conjunto de propiedades en este almacenamiento del conjunto de propiedades.

IPropertySetStorage::Enum

Crea un objeto que se puede usar para enumerar estructuras STATPROPSETSTG . Cada estructura STATPROPSETSTG proporciona datos sobre un único conjunto de propiedades.

Nota

El conjunto de propiedades DocumentSummaryInformation y UserDefined es único en que puede tener dos secciones establecidas de propiedades en una sola secuencia subyacente. Para obtener más información, vea Los conjuntos de propiedades DocumentSummaryInformation y UserDefined .

 

Implementación independiente de IPropertyStorage

IPropertySetStorage

IPropertyStorage

IStorage::EnumElements

Constantes PROPSETFLAG

STATPROPSETSTG

StgCreatePropSetStg

StgCreatePropStg

StgOpenPropStg

Constantes STGM