Propriedades e conjuntos de propriedades
Embora os tipos de propriedades de tempo de execução que a Automação e os Controles Microsoft ActiveX ofereçam sejam importantes, eles não abordam diretamente a necessidade de armazenar informações com objetos armazenados persistentemente no sistema de arquivos. Essas entidades podem incluir arquivos (estruturados, compostos e assim por diante), diretórios e catálogos de resumo. O COM fornece um formato serializado padrão para essas propriedades persistentes e um conjunto de interfaces e funções que permitem criar e manipular os conjuntos de propriedades e suas propriedades.
As propriedades persistentes são armazenadas como conjuntos e um ou mais conjuntos podem estar associados a uma entidade do sistema de arquivos. Esses conjuntos de propriedades persistentes devem ser usados para armazenar dados adequados para serem representados como uma coleção de valores refinados. Eles não devem ser usados como uma base de dados grande. Eles podem ser usados para armazenar informações resumidas sobre um objeto no sistema, que pode ser acessado por qualquer outro objeto que entenda como interpretar esse conjunto de propriedades.
As versões anteriores do COM especificavam muito pouco em relação às propriedades e ao seu uso, mas definiam um formato serializado que permitia aos desenvolvedores armazenar propriedades e conjuntos de propriedades em uma instância do IStorage . Os identificadores de propriedade e a semântica de um único conjunto de propriedades, usados para obter informações resumidas sobre um documento, também foram definidos. Naquela época, era necessário criar e manipular essa estrutura diretamente como um fluxo de dados. Consulte Formato do conjunto de propriedades serializados de armazenamento estruturado.
Agora, no entanto, COM define duas interfaces primárias para gerenciar conjuntos de propriedades:
Não é mais necessário lidar com o formato serializado diretamente quando essas interfaces são implementadas em um objeto que dá suporte à interface IStorage (como arquivos compostos). Gravar propriedades por meio de IPropertySetStorage e IPropertyStorage cria dados que estão exatamente em conformidade com o formato do conjunto de propriedades COM, conforme exibido por meio de métodos IStorage . O inverso também é verdadeiro — as propriedades gravadas no formato de conjunto de propriedades COM usando IStorage são visíveis por meio de IPropertySetStorage e IPropertyStorage (embora você não possa esperar gravar no IStream e ter as propriedades por meio de IPropertyStorage imediatamente disponíveis, ou vice-versa).
A interface IPropertySetStorage define métodos que criam e gerenciam conjuntos de propriedades. A interface IPropertyStorage manipula diretamente as propriedades dentro de um conjunto de propriedades. Ao chamar os métodos dessas interfaces, um desenvolvedor de aplicativos pode gerenciar quaisquer conjuntos de propriedades apropriados para uma determinada entidade do sistema de arquivos. O uso dessas interfaces fornece uma implementação de leitura e gravação ajustada para propriedades, em vez de ter uma implementação em cada aplicativo, em que pode haver gargalos de desempenho, como busca incessante. Você pode implementar as interfaces para aprimorar o desempenho, para que as propriedades possam ser lidas e gravadas mais rapidamente por, por exemplo, cache mais eficiente. Além disso, IPropertyStorage e IPropertySetStorage possibilitam manipular propriedades em entidades que não dão suporte ao IStorage, embora, em geral, a maioria dos aplicativos não o faça.
Esta seção contém os seguintes tópicos:
- O conjunto de propriedades de informações de resumo
- Identificadores de formato predefinidos do conjunto de propriedades
- Os conjuntos de propriedades DocumentSummaryInformation e UserDefined
Tópicos relacionados