Метод IPropertySetStorage::Create (propidl.h)
Метод Create создает и открывает новый набор свойств в объекте хранилища набора свойств.
Синтаксис
HRESULT Create(
[in] REFFMTID rfmtid,
[in] const CLSID *pclsid,
[in] DWORD grfFlags,
[in] DWORD grfMode,
[out] IPropertyStorage **ppprstg
);
Параметры
[in] rfmtid
FMTID создаваемого свойства. Сведения о хорошо известных и предопределенных в пакете SDK для платформы FMTID см. в разделе Предопределенные идентификаторы формата набора свойств.
[in] pclsid
Указатель на идентификатор начального класса CLSID для этого набора свойств. Может иметь значение NULL, и в этом случае ему присваивается значение всех нулей. CLSID — это ИДЕНТИФИКАТОР CLSID класса, который отображает и /или предоставляет программный доступ к значениям свойств. Если такого класса нет, рекомендуется использовать FMTID.
[in] grfFlags
Значения из констант PROPSETFLAG.
[in] grfMode
Режим доступа, в котором открывается только что созданный набор свойств, взятый из определенных значений STGM_Constants, как описано в следующем разделе Примечания.
[out] ppprstg
Указатель на выходную переменную, которая получает указатель интерфейса IPropertyStorage .
Возвращаемое значение
Этот метод поддерживает стандартное возвращаемое значение E_UNEXPECTED, а также следующее:
Комментарии
IPropertySetStorage::Create создает и открывает новый подобъект набора свойств (поддерживающий интерфейс IPropertyStorage ), содержащийся в этом объекте хранилища набора свойств. Набор свойств автоматически содержит свойства кодовой страницы и идентификатора языкового стандарта. Для них задано значение Юникода и текущего пользователя по умолчанию соответственно.
Параметр grfFlags представляет собой сочетание значений, взятых из констант PROPSETFLAG. Если используется значение PROPSETFLAG_ANSI из этого перечисления, для кодовой страницы устанавливается текущее системное значение по умолчанию, а не Юникод.
Параметр grfMode указывает режим доступа, в котором будет открыт только что созданный набор. Значения для этого параметра соответствуют значению параметра grfMode для IPropertySetStorage::Open с добавлением значений, перечисленных в следующей таблице.
Значение | Значение |
---|---|
STGM_FAILIFTHERE | Если существует другое свойство, заданное с указанным параметром fmtid , вызов завершается ошибкой. Это действие по умолчанию; то есть, если не указан STGM_CREATE, подразумевается STGM_FAILIFTHERE. |
STGM_CREATE | Если другое свойство, заданное с указанным параметром fmtid , уже существует, оно удаляется и заменяется этим новым. |
Созданный набор свойств по умолчанию прост, но вызывающий объект может запросить набор неимпляемых свойств, указав значение PROPSETFLAG_NONSIMPLE в параметре grfFlags . Дополнительные сведения о простых и неимпляемых наборах свойств см. в разделе Storage and Stream Objects for a Property Set.
Этот метод регулируется ограничениями базового IStorage::CreateStream (для простых наборов свойств) или IStorage::CreateStorage (для неимпляных наборов свойств). Например, при использовании реализации файла IPropertySetStorage-Compound укажите STGM_SHARE_EXCLUSIVE в параметре grfModeдля IPropertySetStorage::Create. И наоборот, при использовании изолированной реализации IPropertySetStorageна IPropertySetStorage::Create распространяются ограничения, которые применяются к IStorage, указанному вызывающим объектом.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | propidl.h (включая Objbase.h) |
Библиотека | Uuid.lib |
DLL | Ole32.dll |