Partager via


Propriétés et jeux de propriétés

Bien que les types de propriétés d’exécution proposées par Automation et Microsoft ActiveX Controls soient importants, ils ne répondent pas directement à la nécessité de stocker des informations avec des objets stockés de manière permanente dans le système de fichiers. Ces entités peuvent inclure des fichiers (structurés, composés, etc.), des répertoires et des catalogues de synthèse. COM fournit à la fois un format sérialisé standard pour ces propriétés persistantes et un ensemble d’interfaces et de fonctions qui vous permettent de créer et de manipuler les jeux de propriétés et leurs propriétés.

Les propriétés persistantes sont stockées en tant que jeux et un ou plusieurs jeux peuvent être associés à une entité de système de fichiers. Ces ensembles de propriétés persistants sont destinés à être utilisés pour stocker des données adaptées à être représentées sous la forme d’une collection de valeurs affinées. Elles ne sont pas destinées à être utilisées comme base de données volumineuse. Ils peuvent être utilisés pour stocker des informations récapitulatives sur un objet sur le système, qui sont ensuite accessibles par tout autre objet qui comprend comment interpréter ce jeu de propriétés.

Les versions précédentes de COM spécifiaient très peu en ce qui concerne les propriétés et leur utilisation, mais définissaient un format sérialisé qui permettait aux développeurs de stocker des propriétés et des jeux de propriétés dans une instance IStorage. Les identificateurs de propriété et la sémantique d’un jeu de propriétés unique, utilisés pour des informations récapitulatives sur un document, ont également été définis. À ce stade, il était nécessaire de créer et de manipuler cette structure directement en tant que flux de données. Consultez format de jeu de propriétés sérialisées de stockage structuré.

Toutefois, COM définit deux interfaces principales pour gérer les jeux de propriétés :

  • IPropertyStorage
  • IPropertySetStorage

Il n’est plus nécessaire de traiter directement le format sérialisé lorsque ces interfaces sont implémentées sur un objet qui prend en charge l’interface IStorage (par exemple, les fichiers composés). L’écriture de propriétés via IPropertySetStorage et IPropertyStorage crée des données qui sont exactement conformes au format du jeu de propriétés COM, comme indiqué dans méthodes IStorage. L’inverse est également vrai : les propriétés écrites dans le format de jeu de propriétés COM à l’aide de IStorage sont visibles via IPropertySetStorage et IPropertyStorage (bien que vous ne pouvez pas vous attendre à écrire dans IStream et avoir les propriétés via IPropertyStorage immédiatement disponible, ou inversement).

L’interface IPropertySetStorage définit des méthodes qui créent et gèrent des jeux de propriétés. L’interface IPropertyStorage manipule directement les propriétés d’un jeu de propriétés. En appelant les méthodes de ces interfaces, un développeur d’applications peut gérer les jeux de propriétés appropriés pour une entité de système de fichiers donnée. L’utilisation de ces interfaces fournit une implémentation de lecture et d’écriture optimisée pour les propriétés, plutôt que d’avoir une implémentation dans chaque application, où il peut y avoir des goulots d’étranglement des performances tels que la recherche incessante. Vous pouvez implémenter les interfaces pour améliorer les performances, afin que les propriétés puissent être lues et écrites plus rapidement en utilisant, par exemple, une mise en cache plus efficace. En outre, IPropertyStorage et IPropertySetStorage permettent de manipuler des propriétés sur des entités qui ne prennent pas en charge IStorage, bien qu’en général, la plupart des applications ne le fassent pas.

Cette section contient les rubriques suivantes :

implémentations de jeu de propriétés dans COM

Considérations relatives à l’ensemble de propriétés

Gestion des propriétés

Managing Property Sets

stockage des ensembles de propriétés

caractéristiques de performances