Функция SHGetViewStatePropertyBag (shlwapi.h)
[SHGetViewStatePropertyBag доступен для использования в операционных системах, указанных в разделе Требования. Он может быть изменен или недоступен в последующих версиях.]
Извлекает контейнер свойств, в котором можно сохранить и впоследствии получить сведения о состоянии представления для папки. Параметры пользователя сохраняются при следующем посещении папки.
LWSTDAPI SHGetViewStatePropertyBag(
[in, optional] PCIDLIST_ABSOLUTE pidl,
[in, optional] PCWSTR pszBagName,
DWORD dwFlags,
[in] REFIID riid,
[out] void **ppv
);
[in, optional] pidl
Тип: PCIDLIST_ABSOLUTE
ЗНАЧЕНИЕ PIDL папки, свойства которой запрашиваются. Этот параметр должен иметь значение NULL , если передается флаг SHGVSPB_ALLFOLDERS.
[in, optional] pszBagName
Тип: PCWSTR
Указатель на строку, содержащую имя запрошенного контейнера свойств.
dwFlags
Тип: DWORD
Значение типа , указывающее сочетание следующих флагов.
Требуется одно значение из следующего набора флагов.
Возвращает свойства для каждого пользователя для указанного pidl.
Возвращает свойства All User для указанного pidl.
Требуется одно значение из следующего набора флагов.
Возвращает контейнер свойств для папки, указанной параметром pidl .
Возвращает контейнер свойств, который применяется ко всем папкам.
Возвращает контейнер свойств, используемый для предоставления значений по умолчанию для вложенных папок, у которых нет контейнера свойств.
Следующие флаги являются необязательными.
Позволяет контейнеру свойств перемещаться. См. раздел Перемещаемые профили пользователей. Этот флаг нельзя сочетать с SHGVSPB_ALLFOLDERS.
Подавляет поиск подходящего значения по умолчанию, если не удается найти контейнер свойств для указанной папки. По умолчанию, если SHGVSPB_INHERIT не указан и не удается найти контейнер свойств для указанной папки, система выполняет поиск идентичных именованных контейнеров свойств в других местах, которые могут предоставлять значения по умолчанию. Например, система выполняет поиск в предках папки, чтобы узнать, предоставляет ли какой-либо из них SHGVSPB_INHERIT контейнер свойств. В других местах системного поиска используются значения по умолчанию пользователя и глобальные значения по умолчанию.
Следующий набор флагов состоит из значений, которые объединяют некоторые флаги, перечисленные выше, и используются для краткости и удобства.
Объединяет SHGVSPB_PERUSER и SHGVSPB_PERFOLDER.
Объединяет SHGVSPB_PERUSER, SHGVSPB_PERFOLDER и SHGVSPB_NOAUTODEFAULTS.
Объединяет SHGVSPB_PERUSER и SHGVSPB_ALLFOLDERS.
Объединяет SHGVSPB_ALLUSERS и SHGVSPB_ALLFOLDERS.
Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот флаг называется SHGVSPB_GLOBALDEAFAULTS.
[in] riid
Тип: REFIID
Ссылка на IID интерфейса, извлекаемого через ppv.
[out] ppv
Тип: void**
При успешном выполнении этого метода содержит указатель интерфейса, запрошенный в riid.
Тип: HRESULT
Если эта функция завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Критически важные сведения не должны храниться в контейнере свойств состояния представления, так как система хранит только ограниченное количество состояний представления. Если папка не посещалась в течение длительного времени, ее состояние представления в конечном итоге удаляется.
Мы рекомендуем использовать макрос IID_PPV_ARGS , определенный в Objbase.h, для упаковки параметров riid и ppv . Этот макрос предоставляет правильный IID на основе интерфейса, на который указывает значение в ppv, что исключает возможность ошибки кода в riid , которая может привести к непредвиденным результатам.
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | shlwapi.h |
Библиотека | Shlwapi.lib |
DLL | Shlwapi.dll (версия 5.0 или более поздняя) |