Compartir a través de


Implementación independiente de IPropertySetStorage

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

Para usar la implementación independiente de IPropertySetStorage, obtenga primero 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 especificando el objeto de almacenamiento que contendrá el conjunto de propiedades. Esta función proporciona un puntero al nuevo interfaz de 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 almacenamientos estructurados. 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 para 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, consulte la sección IPropertySetStorage-Compound Implementación de archivos.

Cuándo 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 de 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 las funciones auxiliares 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 un nuevo conjunto de propiedades en el almacenamiento y devuelve un puntero a la interfazdeIPropertyStorage en el conjunto de propiedades.

Si tiene previsto usar el valor de PROPSETFLAG_UNBUFFERED, use la funciónStgCreatePropStg 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 un conjunto de propiedades existente en el almacenamiento y devuelve un puntero al 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 de propiedades.

IPropertySetStorage::Enum

Crea un objeto que se puede usar para enumerar estructuras de STATPROPSETSTG. Cada estructura de 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