Udostępnij przez


Zarządzanie zestawami właściwości

Trwały zestaw właściwości zawiera powiązane dane jako właściwości. Każdy zestaw właściwości jest identyfikowany z identyfikatorem FMTID i globalnie unikatowym identyfikatorem (GUID), który umożliwia aplikacjom uzyskiwanie dostępu do zestawu właściwości w celu zidentyfikowania zestawu właściwości. Dzięki tej identyfikacji aplikacja interpretuje właściwości, które zawiera zestaw.

Na przykład właściwości formatowania znaków w procesorze wyrazów lub atrybuty renderowania elementu w programie rysunkowym to zestawy właściwości.

Com definiuje interfejs IPropertySetStorage w celu ułatwienia zarządzania zestawami właściwości. Za pomocą metod tego interfejsu można utworzyć nowy zestaw właściwości lub otworzyć lub usunąć istniejący zestaw właściwości. Ponadto udostępnia metodę, która tworzy moduł wyliczający i dostarcza wskaźnik do jego interfejsu IEnumSTATPROPSETSTG. Metody tego interfejsu można wywołać, aby wyliczyć STATPROPSETSTG struktury obiektu, które będą dostarczać informacje o wszystkich zestawach właściwości w obiekcie.

Podczas tworzenia lub otwierania wystąpienia IPropertyStorage, jest to podobne do otwierania obiektu obsługującego IStorage lub IStream, ponieważ musisz określić tryb magazynowania, w jakim otwierasz interfejs. W przypadku IStorage , tryby te obejmują tryb transakcji, tryb odczytu/zapisu i tryb udostępniania.

Podczas tworzenia zestawu właściwości poprzez wywołanie IPropertySetStorage::Create, określ, czy zestaw właściwości ma być prosty, czy złożony. Prosty zestaw właściwości zawiera typy, które można w pełni zapisać w strumieniu zestawu właściwości. Rozmiar strumienia nie może przekraczać 256 KB w systemie Windows NT 4.0 i starszych, lub 1 MB w systemie Windows 2000, Windows XP i Windows Server 2003. Jeśli jednak musisz przechowywać większą ilość informacji w zestawie właściwości, możesz określić, że zestaw właściwości będzie niesimple. Dzięki temu można używać jednego lub więcej typów, które określają tylko wskaźnik do obiektu pamięci lub danych strumienia. Rodzaje te to VT_STREAM, VT_STREAMED OBJECT, VT_STORAGE oraz VT_STORED_OBJECT.

Dane przechowywane w tych właściwościach nie są liczone względem limitu rozmiaru zestawu właściwości 256 KB w systemie Windows NT 4.0 lub starszym lub limit 1 MB w systemach Windows 2000, Windows XP i Windows Server 2003. Jednak dane dotyczące właściwości, takie jak jej nazwa, mają zastosowanie. Ponadto, jeśli potrzebujesz aktualizacji transakcyjnej, zestaw właściwości musi być nieskomplikowany. Oczywiście istnieje pewien koszt wydajności przy otwieraniu tych typów, ponieważ wymaga to otwarcia strumienia lub obiektu pamięci, do którego odnosi się wskaźnik.

Jeśli Twoja aplikacja korzysta z plików złożonych, możesz użyć implementacji COM dostarczonej dla tych interfejsów, która jest zaimplementowana na obiekcie magazynu plików złożonych COM.

Każdy zestaw właściwości składa się przede wszystkim z logicznie połączonej grupy właściwości, zgodnie z opisem w Zarządzanie właściwościami.

Aby uzyskać więcej informacji na temat zestawów właściwości w modelu COM, zobacz: