Propriétés et ensembles de propriétés

Bien que les types de propriétés d’exécution proposés par Automation et les contrôles Microsoft ActiveX 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 récapitulatifs. 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 sous forme de jeux et un ou plusieurs ensembles peuvent être associés à une entité de système de fichiers. Ces jeux 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. Ils ne sont pas destinés à être utilisés 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 elles 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 un instance IStorage. Les identificateurs de propriété et la sémantique d’un jeu de propriétés unique, utilisés pour les informations récapitulatives sur un document, ont également été définis. À cette époque, il était nécessaire de créer et de manipuler cette structure directement en tant que flux de données. Consultez Format de l’ensemble de propriétés sérialisées du stockage structuré.

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

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 de jeu de propriétés COM, comme indiqué dans les méthodes IStorage . L’inverse est également vrai : les propriétés écrites au format de jeu de propriétés COM à l’aide d’IStorage sont visibles via IPropertySetStorage et IPropertyStorage (même si vous ne pouvez pas vous attendre à écrire dans IStream et à avoir les propriétés via IPropertyStorage immédiatement disponibles, 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 ensembles 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 paramétré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, par exemple par 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 des ensembles de propriétés dans COM

Considérations relatives au jeu de propriétés

Gestion des propriétés

Gestion des jeux de propriétés

Stockage de jeux de propriétés

Caractéristiques de performances