Création de propriétés personnalisées
Les propriétés utilisées dans le système de propriétés de Windows Vista et ultérieurement sont déclarées dans les schémas de propriétés. Ces schémas de propriété sont définis dans des fichiers XML et décrivent différents aspects d’une propriété, y compris son type (y compris des informations sur son type primitif et s’il est à valeurs multiples), comment il peut être affiché dans l’interface utilisateur Windows, quel type d’étiquettes (chaînes d’édition conviviales) doivent être utilisés avec elle et comment il est mis en cache dans le magasin de recherche pour un accès plus rapide. Les propriétés sont identifiées par leur nom canonique ou leur clé de propriété (PKEY).
Un nom canonique est le nom convivial du lecteur de la propriété et utilise une convention d’espace de noms similaire à celle utilisée dans Microsoft .NET. Pour les propriétés définies par le système (celles incluses dans Windows), la convention est System.GroupName.PropertyName
. Notez que le schéma de casse Pascal, qui met en majuscules les lettres au début de chaque mot, est utilisé dans ces noms. Les noms canoniques sont utilisés à différents endroits, notamment les listes de propriétés et les noms de colonnes dans le cache de propriétés. Ils sont donc utilisés dans les requêtes langage SQL (SQL) pour récupérer une valeur de propriété.
Une clé PKEY est une paire de valeurs composées d’un GUID et d’un DWORD, appelée respectivement un formatID et un propID. Elle est représentée par une structure PROPERTYKEY . La plupart des API système de propriétés acceptent ces clés de propriété. Le Kit de développement logiciel Windows (SDK) inclut le fichier d’en-tête Propkey.h qui inclut une définition de macro de chacune des clés de System
propriété avec la convention de PKEY_GroupName_PropertyName
. Par exemple, PKEY_Photo_DateTaken
est la clé de propriété de la propriété avec un nom System.Photo.DateTaken
canonique. Les valeurs de propriété sont stockées sous la forme d’une structure PROPVARIANT , qui est une extension des types OLE VARIANT.
Cette section contient la rubrique suivante, qui fait partie intégrante de la création de propriétés personnalisées :
Remarque
En raison de difficultés potentielles que l’indexeur peut avoir lors de l’utilisation du schéma du système de propriétés, il est essentiel de définir des attributs soigneusement et stratégiquement pour la première version du schéma. Toutes les modifications apportées aux attributs (type, largeur de colonne, si indexable) ne sont pas reflétées dans la base de données une fois qu’un schéma a été inscrit. Les seules façons d’avoir ces modifications reconnues une fois que le schéma a été inscrit une fois sur un système seraient de reconstruire l’index, puis d’inscrire le nouveau schéma, ou d’inscrire le schéma, puis de créer une nouvelle propriété pour chaque version ultérieure ; par exemple PKEY_GroupName_PropertyNameV2
, et PKEY_GroupName_PropertyNameV3
ainsi de suite). Nous vous déconseillons de créer de nouvelles propriétés de cette façon, car plusieurs colonnes superflues peuvent avoir un impact sur les performances du système.
Rubriques connexes