Implementações de conjunto de propriedades no COM
Embora o potencial para usos de conjuntos de propriedades persistentes não seja totalmente tocado, atualmente há dois usos primários:
- Armazenar informações resumidas com um objeto, como um documento
- Transferindo dados de propriedade entre objetos
Os conjuntos de propriedades COM foram projetados para armazenar dados adequados à representação como uma coleção moderadamente dimensionada de valores refinados. Os conjuntos de dados muito grandes para que isso seja viável devem ser divididos em fluxos, armazenamentos e/ou conjuntos de propriedades separados. O formato de dados do conjunto de propriedades COM não foi feito para fornecer um substituto para um banco de dados de muitos objetos minúsculos.
O COM fornece implementações das interfaces do conjunto de propriedades para vários objetos, juntamente com três funções auxiliares. A seção a seguir descreve algumas características de desempenho dessas implementações. Para obter mais informações sobre interfaces específicas e como obter um ponteiro para essas interfaces, consulte o seguinte na seção de referência COM:
Implementação de arquivo composto IPropertySetStorage
A implementação de arquivo composto, que fornece as interfaces IStorage e IStream , também fornece as interfaces IPropertySetStorage e IPropertyStorage . Dada uma implementação de arquivo composto de IStorage, a interface IPropertySetStorage pode ser obtida chamando IUnknown::QueryInterface.
Implementação do sistema de arquivos IPropertySetStorage–NTFS
As interfaces IPropertySetStorage e IPropertyStorage também podem ser obtidas para arquivos NTFS que não são arquivos compostos. Portanto, é possível obter essas interfaces para todos os arquivos em um volume NTFS.
Implementação autônoma de IPropertySetStorage
Quando essa implementação de IPropertySetStorage e IPropertyStorage é instanciada , ele recebe um ponteiro para um objeto que dá suporte à interface IStorage . Em seguida, ele manipula armazenamentos de conjuntos de propriedades dentro desse objeto de armazenamento. Portanto, é possível acessar e manipular conjuntos de propriedades em qualquer objeto que dê suporte a .
Considerações sobre implementação de IPropertySetStorage
Há vários problemas a serem considerados ao fornecer uma implementação da interface IPropertySetStorage . Consulte estas Considerações de implementação na seção Referência de COM.
Além disso, há quatro funções auxiliares, projetadas para ajudar a lidar com propriedades que foram lidas de uma propriedade definida na memória (em uma estrutura PROPVARIANT ):
As seções a seguir discutem as implementações do conjunto de propriedades em COM com mais detalhes:
- Gerenciando conjuntos de propriedades
- Considerações sobre o conjunto de propriedades
- Armazenando conjuntos de propriedades
- Características de desempenho
- Implementando o conjunto de propriedades de informações de resumo
- Considerações sobre implementação de IPropertySetStorage