Udostępnij za pośrednictwem


Tworzenie właściwości niestandardowych

Właściwości używane w systemie właściwości systemu Windows Vista i nowszych są deklarowane w schematach właściwości. Te schematy właściwości są definiowane w plikach XML i opisują różne aspekty właściwości, w tym jej typ (w tym informacje o typie pierwotnym i o tym, czy jest wielowartościowy), sposób wyświetlania go w interfejsie użytkownika systemu Windows, jakiego rodzaju etykiety (przyjazne dla użytkownika ciągi edycji) mają być używane wraz z nim i jak jest buforowany w magazynie wyszukiwania w celu szybszego dostępu. Właściwości są identyfikowane przez ich nazwę kanoniczną lub klucz właściwości (PKEY).

Nazwa kanoniczna to przyjazna dla czytelnika nazwa właściwości i używa konwencji przestrzeni nazw podobnej do tej używanej na platformie Microsoft .NET. W przypadku właściwości zdefiniowanych przez system (tych, które są dołączone do systemu Windows), konwencja jest System.GroupName.PropertyName. Należy pamiętać, że w nazwach tych używany jest schemat przypadku Pascal, który kapitalizuje litery na początku każdego słowa. Nazwy kanoniczne są używane w różnych kontekstach, w tym w listach właściwości oraz nazwach kolumn w pamięci podręcznej właściwości. W związku z tym są one używane w zapytaniach języka Sql (Structured Query Language) w celu pobrania wartości właściwości.

PKEY to para wartości składających się z identyfikatora GUID i DWORD, nazywanego odpowiednio identyfikatorem format ID i propID. Struktura jest reprezentowana przez PROPERTYKEY. Większość interfejsów API dla systemu właściwości akceptuje te klucze właściwości. Zestaw Windows Software Development Kit (SDK) zawiera plik nagłówkowy Propkey.h, który zawiera definicję makr każdego z kluczy właściwości System z konwencją PKEY_GroupName_PropertyName. Na przykład PKEY_Photo_DateTaken jest kluczem dla właściwości o nazwie kanonicznej System.Photo.DateTaken. Wartości właściwości są przechowywane w postaci struktury PROPVARIANT, która jest rozszerzeniem typów WARIANTÓW OLE.

Ta sekcja zawiera następujący temat, który jest integralną częścią tworzenia właściwości niestandardowych:

Notatka

Ze względu na potencjalne trudności, które indeksator może mieć podczas korzystania ze schematu systemu właściwości, ważne jest, aby dokładnie i strategicznie definiować atrybuty dla pierwszego wydania schematu. Wszelkie zmiany atrybutów (typ, szerokość kolumny, czy indeksowalne) nie zostaną odzwierciedlone w bazie danych po zarejestrowaniu schematu. Jedynymi sposobami rozpoznawania tych zmian po zarejestrowaniu schematu w systemie będzie ponowne skompilowanie indeksu, a następnie zarejestrowanie nowego schematu lub zarejestrowanie schematu, a następnie utworzenie nowej właściwości dla każdej kolejnej wersji; na przykład PKEY_GroupName_PropertyNameV2, PKEY_GroupName_PropertyNameV3itd.). Nie zalecamy tworzenia nowych właściwości w ten sposób, ponieważ wiele dodatkowych kolumn może mieć wpływ na wydajność systemu.

 

Implementowanie procedur zarządzania właściwościami

Schemat Opisu Właściwości