Compartilhar via


Implementação autônoma de IPropertySetStorage

A implementação autônoma fornecida pelo sistema de IPropertySetStorage inclui uma implementação de IPropertyStorage e IPropertySetStorage. IPropertyStorage é a interface que lê e grava propriedades em um armazenamento de conjunto de propriedades. IPropertySetStorage é a interface que cria e abre conjuntos de propriedades em um armazenamento. As interfaces IEnumSTATPROPSTG e IEnumSTATPROPSETSTG também são fornecidas na implementação autônoma.

Para usar a implementação autônoma de IPropertySetStorage, primeiro obtenha um ponteiro para a implementação autônoma fornecida pelo sistema e associe a implementação fornecida pelo sistema ao objeto de armazenamento. Para obter um ponteiro para a implementação autônoma de IPropertySetStorage, chame a função StgCreatePropSetStg e forneça o parâmetro pStorage especificando o objeto de armazenamento que conterá o conjunto de propriedades. Essa função fornece um ponteiro para a nova interface IPropertySetStorage para o objeto de armazenamento especificado.

A implementação autônoma de IPropertySetStorage cria conjuntos de propriedades em qualquer objeto de armazenamento, não apenas em armazenamentos de arquivos compostos. A implementação autônoma não depende de arquivos compostos e pode ser usada com qualquer implementação de armazenamentos estruturados. Quaisquer restrições nos armazenamentos estruturados fornecidos pelo chamador se aplicam a essa implementação de conjuntos de propriedades. Por exemplo, se você fornecer um armazenamento de modo simples para StgOpenPropStg, o IPropertySetStorage resultante será restrito pelo IStorage fornecido.

Para obter mais informações sobre a implementação de arquivo composto dessa interface, consulte a seção Implementação de arquivo composto IPropertySetStorage.

Quando usar

Chame os métodos de IPropertySetStorage para criar, abrir e excluir conjuntos de propriedades em qualquer armazenamento estruturado. Também há um método que fornece um ponteiro para o enumerador IEnumSTATPROPSETSTG que pode ser usado para enumerar os conjuntos de propriedades no armazenamento.

A implementação autônoma também fornece as funções auxiliares StgCreatePropStg e StgOpenPropStg , além dos métodos Create e Open , para criar e abrir conjuntos de propriedades. Essas duas funções adicionam suporte para o valor PROPSETFLAG_UNBUFFERED para que você possa gravar alterações diretamente no conjunto de propriedades em vez de armazená-las em buffer em um cache. Para obter mais informações, consulte Constantes PROPSETFLAG.

Métodos

A implementação autônoma de IPropertySetStorage dá suporte aos métodos a seguir.

IPropertySetStorage::Create

Cria um novo conjunto de propriedades no armazenamento e retorna um ponteiro para a interface IPropertyStorage no conjunto de propriedades.

Se você planeja usar o valor PROPSETFLAG_UNBUFFERED, use a função StgCreatePropStg para criar e abrir o novo conjunto de propriedades e para obter um ponteiro para a implementação autônoma para a interface IPropertyStorage no conjunto de propriedades.

IPropertySetStorage::Open

Abre um conjunto de propriedades existente no armazenamento e retorna um ponteiro para a interface IPropertyStorage no conjunto de propriedades.

Se você planeja usar o valor PROPSETFLAG_UNBUFFERED, use a função StgOpenPropStg para obter um ponteiro para a implementação autônoma de IPropertyStorage no conjunto de propriedades especificado.

IPropertySetStorage::D elete

Exclui um conjunto de propriedades neste armazenamento do conjunto de propriedades.

IPropertySetStorage::Enum

Cria um objeto que pode ser usado para enumerar estruturas STATPROPSETSTG . Cada estrutura STATPROPSETSTG fornece dados sobre um único conjunto de propriedades.

Observação

O conjunto de propriedades DocumentSummaryInformation e UserDefined é exclusivo, pois pode ter duas seções de conjunto de propriedades em um único fluxo subjacente. Para obter mais informações, consulte Os conjuntos de propriedades DocumentSummaryInformation e UserDefined .

 

Implementação autônoma de IPropertyStorage

IPropertySetStorage

IPropertyStorage

IStorage::EnumElements

Constantes PROPSETFLAG

STATPROPSETSTG

StgCreatePropSetStg

StgCreatePropStg

StgOpenPropStg

Constantes STGM