Udostępnij za pośrednictwem


Magazyn i obiekty strumienia dla zestawu właściwości

Programista określa, czy zestaw właściwości jest przechowywany w magazynie, czy strumieniu podczas tworzenia zestawu właściwości. Wartość wyliczenia PROPSETFLAG_NONSIMPLE przekazana w parametrze grfFlags do parametru IPropertySetStorage::Create wskazuje na to. Ustawienie, w którym jest przechowywany zestaw właściwości, zapewnia odpowiednie kontrolki aplikacji w celu pełnego współdziałania za pośrednictwem IPropertySetStorage interfejsu z zestawem właściwości COM.

Jeśli ustawiono flagę PROPSETFLAG_NONSIMPLE, zestaw właściwości jest przechowywany w obiekcie magazynu, a wartości właściwości innych niżimple można do niej zapisać. Wartości nieimple obejmują wartości z VARTYPE VT_STORAGE, VT_STREAM, VT_STORED_OBJECT lub VT_STREAMED_OBJECT. Aby uzyskać więcej informacji na temat wartości VARTYPE i sposobu ich używania, zobacz STRUKTURA PROPVARIANT.

Jeśli flaga PROPSETFLAG_NONSIMPLE nie jest ustawiona, do zestawu właściwości można zapisywać tylko proste wartości.

W obiekcie magazynu zestawu właściwości nonsimple strumień jest tworzony o nazwie Contents. Jest to podstawowy strumień zestawu właściwości i zawiera wszystkie proste wartości właściwości. Wartości właściwości innych niżimple (strumienie i magazyny) są przechowywane w głównym obiekcie magazynu właściwości ustawionej jako podstreams i magazyny. Oznacza to, że te wartości nieimple są przechowywane jako elementy równorzędne do strumienia Zawartość. Nazwa równorzędnych strumieni i magazynów jest określana przez implementację i przechowywana w strumieniu Zawartość podobnie jak w przypadku przechowywania prostej właściwości ciągu.