Compartilhar via


Implementação autônoma de IPropertySetStorage

A implementação autônoma fornecida pelo sistema doIPropertySetStorageinclui 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 interfacesIEnumSTATPROPSTGeIEnumSTATPROPSETSTG 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 seu objeto de armazenamento. Para obter um ponteiro para a implementação autônoma de IPropertySetStorage, chame a funçãoStgCreatePropSetStg 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 de 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á restringido peloIStoragefornecido.

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

Quando usar

Chame os métodos de IPropertySetStorage para criar, abrir e excluir conjuntos de propriedades em qualquer armazenamento estruturado. Há também 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 auxiliares Create e Open, para criar e abrir conjuntos de propriedades. Essas duas funções adicionam suporte para o valor de 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 de constantes PROPSETFLAG .

Métodos

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

IPropertySetStorage::Create

Cria um novo conjunto de propriedades no armazenamento e retorna um ponteiro para a interfaceIPropertyStorageno 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 obter um ponteiro para a implementação autônoma para a interfaceIPropertyStorageno conjunto de propriedades.

IPropertySetStorage::Open

Abre um conjunto de propriedades existente no armazenamento e retorna um ponteiro para a interfaceIPropertyStorage 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 de conjunto de propriedades.

IPropertySetStorage::Enum

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

Nota

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 .

 

de implementação autônoma do IPropertyStorage

IPropertySetStorage

IPropertyStorage

IStorage::EnumElements

constantes PROPSETFLAG

STATPROPSETSTG

stgCreatePropSetStg

stgCreatePropStg

StgOpenPropStg

constantes STGM