Поделиться через


Объекты хранилища и потоковой передачи для набора свойств

Программист указывает, хранится ли набор свойств в хранилище или потоке при создании набора свойств. Это указывает значение перечисления PROPSETFLAG_NONSIMPLE, переданное в параметре grfFlags методу IPropertySetStorage::Create . Параметр, в котором хранится набор свойств, обеспечивает надлежащие элементы управления приложениями для полного взаимодействия через интерфейс IPropertySetStorage с набором свойств COM.

Если установлен флаг PROPSETFLAG_NONSIMPLE, набор свойств хранится в объекте хранилища, и в него могут быть записаны значения свойств, отличных отimple. К неимплейным значениям относятся значения с типом VARTYPE , равные VT_STORAGE, VT_STREAM, VT_STORED_OBJECT или VT_STREAMED_OBJECT. Дополнительные сведения о значениях VARTYPE и их использовании см. в разделе Структура PROPVARIANT .

Если флаг PROPSETFLAG_NONSIMPLE не задан, в набор свойств можно записать только простые значения.

В объекте хранения набора неимпляемых свойств создается поток с именем Contents. Это основной поток набора свойств и содержит все простые значения свойств. Значения неимпляемых свойств (потоки и хранилища) хранятся в объекте хранилища main заданного свойства в виде подпотоков и хранилищ. То есть эти несимвальные значения хранятся в потоке Contents как одноуровневые значения. Имя одноуровневых потоков и хранилищ определяется реализацией и хранится в потоке Contents аналогично тому, как хранится простое строковое свойство.