Condividi tramite


Creazione di proprietà personalizzate.

Le proprietà usate nel sistema di proprietà di Windows Vista e versioni successive vengono dichiarate negli schemi delle proprietà. Questi schemi di proprietà sono definiti nei file XML e descrivono vari aspetti di una proprietà, tra cui il tipo (incluse le informazioni sul tipo primitivo e se è multivalore), come può essere visualizzato nell'interfaccia utente di Windows, quale tipo di etichette (stringhe di modifica descrittive) devono essere usate con esso e come viene memorizzato nella cache nell'archivio di ricerca per un accesso più rapido. Le proprietà sono identificate dal nome canonico o dalla relativa chiave di proprietà (PKEY).

Un nome canonico è il nome descrittivo del lettore della proprietà e usa una convenzione dello spazio dei nomi simile a quella usata in Microsoft .NET. Per le proprietà definite dal sistema (quelle incluse in Windows), la convenzione è System.GroupName.PropertyName. Si noti che lo schema di maiuscole e minuscole Pascal, che maiuscole e minuscole all'inizio di ogni parola, viene usato in questi nomi. I nomi canonici vengono usati in varie posizioni, inclusi elenchi di proprietà e nomi di colonna nella cache delle proprietà. Vengono quindi usate nelle query SQL (Structured Query Language) per recuperare un valore della proprietà.

Un PKEY è una coppia di valori costituiti rispettivamente da un GUID e da una DWORD, denominati rispettivamente formatID e propID. È rappresentato da una struttura PROPERTYKEY . La maggior parte delle API del sistema di proprietà accetta queste chiavi di proprietà. Windows Software Development Kit (SDK) include il file di intestazione Propkey.h che include una definizione di macro di ognuna delle chiavi di System proprietà con la convenzione di PKEY_GroupName_PropertyName. Ad esempio, PKEY_Photo_DateTaken è la chiave di proprietà per la proprietà con il nome System.Photo.DateTakencanonico . I valori delle proprietà vengono archiviati sotto forma di struttura PROPVARIANT , che è un'estensione dei tipi OLE VARIANT.

Questa sezione contiene l'argomento seguente, che è integrale alla creazione di proprietà personalizzate:

Nota

A causa di potenziali difficoltà che l'indicizzatore potrebbe avere quando si utilizza lo schema del sistema di proprietà, è fondamentale definire gli attributi con attenzione e strategicamente per la prima versione dello schema. Eventuali modifiche apportate agli attributi (tipo, larghezza colonna, se indicizzabili) non verranno riflesse nel database dopo la registrazione di uno schema. L'unico modo per fare in modo che queste modifiche vengano riconosciute dopo che lo schema è stato registrato una sola volta in un sistema sarebbe ricompilare l'indice e quindi registrare il nuovo schema oppure registrare lo schema e quindi creare una nuova proprietà per ogni versione successiva; ad esempio PKEY_GroupName_PropertyNameV2, PKEY_GroupName_PropertyNameV3e così via). Non è consigliabile creare nuove proprietà in questo modo, perché più colonne estranee possono influire sulle prestazioni del sistema.

 

Implementazione di gestori di proprietà

Schema Descrizione proprietà