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


Интерфейс IPropertySetStorage (propidl.h)

Интерфейс IPropertySetStorage создает, открывает, удаляет и перечисляет хранилища наборов свойств, которые поддерживают экземпляры интерфейса IPropertyStorage . Интерфейс IPropertyStorage управляет одним набором свойств в подобъекте хранилища свойств; и интерфейс IPropertySetStorage управляет хранением групп таких наборов свойств. Любая сущность файловой системы может поддерживать IPropertySetStorage , которая в настоящее время реализована в объекте составного файла COM.

Интерфейсы IPropertySetStorage и IPropertyStorage предоставляют единый способ создания наборов свойств и управления ими независимо от того, находятся ли эти наборы в объекте хранилища, поддерживающем IStorage. При вызове через объект, поддерживающий IStorage (например, структурированные и составные файлы) или IStream, созданные наборы свойств соответствуют формату набора свойств COM, подробно описанному в разделе Формат сериализованного набора свойств структурированного хранилища. Аналогичным образом свойства, написанные с помощью IStorage в формате набора свойств COM, видны через IPropertySetStorage и IPropertyStorage.

Методы IPropertySetStorage идентифицируют наборы свойств с помощью глобально уникального идентификатора (GUID), который называется идентификатором формата (FMTID). FMTID для набора свойств определяет идентификаторы свойств в наборе свойств, их значение и любые ограничения значений. FMTID набора свойств также должен предоставлять средства для управления этим набором свойств. В одном хранилище свойств одновременно может существовать только один экземпляр данного FMTID.

Наследование

Интерфейс IPropertySetStorage наследуется от интерфейса IUnknown . IPropertySetStorage также имеет следующие типы элементов:

Методы

Интерфейс IPropertySetStorage содержит следующие методы.

 
IPropertySetStorage::Create

Создает и открывает новый набор свойств в объекте хранилища набора свойств.
IPropertySetStorage::D elete

Метод Delete удаляет один из наборов свойств, содержащихся в объекте хранилища набора свойств.
IPropertySetStorage::Enum

Метод Enum создает объект перечислителя, содержащий сведения о наборах свойств, хранящихся в этом хранилище наборов свойств. При возврате этот метод предоставляет указатель на указатель IEnumSTATPROPSETSTG на объект перечислителя.
IPropertySetStorage::Open

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

Комментарии

Примечание Существует исключение из приведенного выше в наборе свойств DocumentSummaryInformation и UserDefined. Этот набор свойств уникален тем, что он может содержать два раздела набора свойств в одном базовом потоке. Этот набор свойств описан в разделах Наборы свойств DocumentSummaryInformation и UserDefined. Первый раздел — это набор свойств DocumentSummaryInformation. Второй раздел — это набор свойств UserDefined. Каждый раздел идентифицируется уникальным идентификатором формата (FMTID). Например, FMTID_DocSummaryInformation и FMTID_UserDefined набор свойств. Тот факт, что эти два набора свойств могут существовать в одном потоке, влияет на поведение интерфейса IPropertySetStorage .

При вызове IPropertySetStorage::Create для создания набора свойств UserDefined первый раздел создается автоматически. После создания FMTID_UserDefinedProperties FMTID_DocSummaryInformation создавать не нужно, но его можно открыть с помощью вызова IPropertySetStorage::Open. Создание первого раздела не приводит к автоматическому созданию второго раздела, и невозможно открыть оба раздела одновременно.

Вызов IPropertySetStorage::D elete, чтобы удалить первый раздел, приведет к удалению обоих разделов. Иными словами, вызов IPropertySetStorage::D elete с FMTID_DocSummaryInformation приводит к удалению этого раздела и раздела FMTID_UserDefinedProperties. Однако удаление второго раздела не приводит к автоматическому удалению первого раздела.

Если для перечисления наборов свойств используется IPropertySetStorage::Enum , набор свойств UserDefined не перечисляется.

 

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Целевая платформа Windows
Header propidl.h (включая Objbase.h)

См. также раздел

Пример EnumAll

IEnumSTATPROPSETSTG

Реализация составного файла IPropertySetStorage

Реализация файловой системы IPropertySetStorage-NTFS

Автономная реализация IPropertySetStorage

IPropertyStorage

PROPVARIANT

STATPROPSETSTG

Примеры