Известные папки
Windows Vista представляет новые сценарии хранения и новое пространство имен профиля пользователя. Для решения этих новых факторов была заменена старая система ссылки на стандартные папки значениеМ CSIDL. По состоянию на Windows Vista эти папки ссылаются на новый набор значений GUID с именем известных идентификаторов папок.
Система известных папок предоставляет следующие преимущества:
- Независимые поставщики программного обеспечения (НЕЗАВИСИМЫе поставщики программного обеспечения) могут расширить набор идентификаторов известных папок собственными. Они могут определять папки, предоставлять им идентификаторы и регистрировать их в системе. Не удалось расширить значения CSIDL.
- Все известные папки в системе можно перечислить. Этот api не предоставляется для значений CSIDL. Дополнительные сведения см. в IKnownFolderManager::GetFolderIds.
- Известная папка, добавленная isV, может добавлять пользовательские свойства, которые позволяют объяснить его назначение и предполагаемое использование.
- Многие известные папки можно перенаправить в новые расположения, включая сетевые расположения. В системе CSIDL можно перенаправить только папку "Мои документы".
- Известные папки могут иметь пользовательские обработчики для использования во время создания или удаления.
Система CSIDL и API, использующие значения CSIDL, по-прежнему поддерживаются для обеспечения совместимости. Однако их не рекомендуется использовать в любой новой разработке.
В следующих разделах рассматриваются особенности системы известных папок.
- работа с известными папками в приложениях
- Расширение известных папок с помощью пользовательских папок
- KNOWNFOLDERID
На следующих справочных страницах описываются функции известных папок Win32, которые можно использовать для получения расположения известных папок или перенаправления их в новое расположение. Эти функции заменяют старые функции Win32. Новые функции предоставляются для обеспечения эквивалентного поведения старых функций, но каждая новая функция также дублируется API объектной модели компонента (COM).
Новая функция | Заменяет | Эквивалент COM |
---|---|---|
SHGetKnownFolderPath | SHGetFolderPath | IKnownFolder::GetPath |
SHGetKnownFolderIDList | SHGetFolderLocation | IKnownFolder::GetIDList |
SHSetKnownFolderPath | SHSetFolderPath | IKnownFolder::SetPath |
На следующих справочных страницах объясняется API известных папок COM, которые предоставляют все функциональные возможности перечисленных выше API Win32, а также добавить возможность перечислять все известные папки, получить доступ к свойствам известных папок и расширить стандартный набор известных папок.
Пример C++, демонстрирующий API известных папок, включен в пакет SDK для Windows. После установки пакета SDK для Windows на компьютере пример можно найти в разделе %ProgramFiles%\Microsoft SDK\Windows\v6.0\Samples\WinUI\Shell\AppPlatform\KnownFolders.
Связанные разделы
-
Пример известных папок