Interface IPropertySetStorage (propidl.h)

A interface IPropertySetStorage cria, abre, exclui e enumera armazenamentos de conjuntos de propriedades que dão suporte a instâncias da interface IPropertyStorage . A interface IPropertyStorage gerencia uma única propriedade definida em um subobjeto de armazenamento de propriedades; e a interface IPropertySetStorage gerencia o armazenamento de grupos desses conjuntos de propriedades. Qualquer entidade do sistema de arquivos pode dar suporte a IPropertySetStorage que está atualmente implementado no objeto de arquivo composto COM.

As interfaces IPropertySetStorage e IPropertyStorage fornecem uma maneira uniforme de criar e gerenciar conjuntos de propriedades, independentemente de esses conjuntos residirem ou não em um objeto de armazenamento que dê suporte ao IStorage. Quando chamado por meio de um objeto que dá suporte a IStorage (como arquivos estruturados e compostos) ou IStream, os conjuntos de propriedades criados estão em conformidade com o formato do conjunto de propriedades COM, descrito em detalhes em Formato de Conjunto de Propriedades Serializados de Armazenamento Estruturado. Da mesma forma, as propriedades gravadas usando IStorage no formato de conjunto de propriedades COM são visíveis por meio de IPropertySetStorage e IPropertyStorage.

Os métodos IPropertySetStorage identificam conjuntos de propriedades por meio de um GUID (identificador global exclusivo) chamado FMTID (identificador de formato). O FMTID de um conjunto de propriedades identifica os identificadores de propriedade no conjunto de propriedades, seu significado e quaisquer restrições nos valores. O FMTID de um conjunto de propriedades também deve fornecer os meios para manipular esse conjunto de propriedades. Somente uma instância de um determinado FMTID pode existir por vez em um único armazenamento de propriedades.

Herança

A interface IPropertySetStorage herda da interface IUnknown . IPropertySetStorage também tem estes tipos de membros:

Métodos

A interface IPropertySetStorage tem esses métodos.

 
IPropertySetStorage::Create

Cria e abre um novo conjunto de propriedades no objeto de armazenamento do conjunto de propriedades.
IPropertySetStorage::D elete

O método Delete exclui um dos conjuntos de propriedades contidos no objeto de armazenamento do conjunto de propriedades.
IPropertySetStorage::Enum

O método Enum cria um objeto enumerador que contém informações sobre os conjuntos de propriedades armazenados neste armazenamento do conjunto de propriedades. No retorno, esse método fornece um ponteiro para o ponteiro IEnumSTATPROPSETSTG no objeto enumerador.
IPropertySetStorage::Open

Abre um conjunto de propriedades contido no objeto de armazenamento do conjunto de propriedades.

Comentários

Nota Há uma exceção ao acima no conjunto de propriedades DocumentSummaryInformation e UserDefined. Esse conjunto de propriedades é exclusivo, pois pode ter duas seções de conjunto de propriedades em um único fluxo subjacente. Esse conjunto de propriedades é descrito em DocumentSummaryInformation e UserDefined Property Sets. A primeira seção é o conjunto de propriedades DocumentSummaryInformation. A segunda seção é o conjunto de propriedades UserDefined. Cada seção é identificada por um FMTID (identificador de formato exclusivo). Por exemplo, FMTID_DocSummaryInformation e conjunto de propriedades FMTID_UserDefined. O fato de que esses dois conjuntos de propriedades podem existir em um único fluxo afeta o comportamento da interface IPropertySetStorage .

Quando IPropertySetStorage::Create é chamado para criar o conjunto de propriedades UserDefined, a primeira seção é criada automaticamente. Depois que o FMTID_UserDefinedProperties é criado, FMTID_DocSummaryInformation não precisa ser criado, mas pode ser aberto com uma chamada para IPropertySetStorage::Open. A criação da primeira seção não cria automaticamente a segunda seção e não é possível abrir ambas as seções simultaneamente.

Chamar IPropertySetStorage::D elete, para excluir a primeira seção, faz com que ambas as seções sejam excluídas. Em outras palavras, chamar IPropertySetStorage::D elete com FMTID_DocSummaryInformation faz com que essa seção e a seção FMTID_UserDefinedProperties sejam excluídas. No entanto, excluir a segunda seção não exclui automaticamente a primeira seção.

Quando IPropertySetStorage::Enum é usado para enumerar conjuntos de propriedades, o conjunto de propriedades UserDefined não é enumerado.

 

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho propidl.h (inclua Objbase.h)

Confira também

Exemplo de EnumAll

IEnumSTATPROPSETSTG

Implementação de arquivo composto IPropertySetStorage

Implementação do sistema de arquivos IPropertySetStorage-NTFS

Implementação autônoma de IPropertySetStorage

IPropertyStorage

PROPVARIANT

STATPROPSETSTG

Amostras