Библиотеки оболочки Windows в Windows
В этом разделе описывается введение библиотек для Windows 7 и более поздних версий. Библиотеки — это функция оболочки Windows. Чтобы получить доступ к функциям Оболочки Windows, таким как библиотеки, сторонние разработчики приложений Поиска Windows должны сначала реализовать хранилище данных Оболочки. Дополнительные сведения см. в реализациибазовых интерфейсов объектов папок.
Этот раздел организован следующим образом:
- библиотеки
- связанные разделы
Библиотеки
В Windows 7 и более поздних версиях библиотеки — это репозиторий пользовательских данных по умолчанию. Пользователи могут просматривать свои файлы так же, как и в папке, или просматривать их файлы по свойствам, таким как дата, тип и автор. В отличие от папки, библиотека не хранит элементы, но отображает файлы, хранящиеся в нескольких папках одновременно. Библиотеки предоставляют единую точку доступа и широкие представления для пользователей агрегированного содержимого. Например, если у пользователя есть музыкальные файлы в папках на внешнем диске в дополнение к папке My Music, то они смогут немедленно получить доступ ко всем музыкальным файлам через библиотеку музыки.
Точки входа пользовательских данных
Библиотеки по умолчанию (например, мои документы, мои рисункии т. д.) эквивалентны известных папок. Библиотеки по умолчанию предоставляют знакомые точки входа для пользователей, но поскольку содержимое библиотеки не ограничивается библиотеками содержимого известных папок, дает пользователям больше возможностей, чтобы определить, где должны храниться документы и носители. Библиотеки предоставляются через пространство имен оболочки (источник данных оболочки). Приложение может предоставить пользователям те же знакомые точки входа для своих данных, включив осведомленность о библиотеке и просмотр.
Коллекции папок
Библиотеки — это определяемые пользователем коллекции содержимого. Индексы поиска Windows поддерживают папки, если они включены в библиотеки. Это позволяет мгновенно выполнять поиск и представления стека на основе свойств в библиотеках.
Поддерживаемые папки в библиотеках
Для поддержки папок в библиотеках они должны индексироваться на локальном компьютере и индексироваться на удаленном компьютере Windows или индексироваться на сервере с файлами, индексируемыми с помощью поиска Windows.
Неподдерживаемые папки не добавляются пользователями в диалоговом окне управления библиотекой Windows. Если неиндексированные удаленные папки добавляются в библиотеку с помощью API IShellLibrary, интерфейс пользователя библиотеки вернется к библиотеке безопасный режим. В функциях безопасного режима, таких как представления расположения стека на основе свойств, предложения фильтров и поддержка меню "Пуск", удаляются из затронутой библиотеки.
В следующей таблице перечислены папки, включенные в библиотеки с помощью диалогового окна управления библиотекой Проводника, и папки, неподдерживаемые в безопасном режиме:
Поддерживаемые папки | Неподдерживаемые папки |
---|---|
Фиксированные и внешние жесткие диски NTFS и FAT32 | Съемные диски (например, отпечатки и SD-карты) |
Общие папки, индексированные с помощью поиска Windows (например, серверы отделов и на компьютерах под управлением Windows 10 и Windows 7 Home Edition) | Съемные носители (например, компакт-диски и DVD-диски) |
Общие папки, доступные в автономном режиме (например, перенаправленные мои документы, кэш на стороне клиента) | Сетевые ресурсы, которые не доступны в автономном режиме или не индексированы удаленно (например, диски NAS) |
n/a | Другие источники данных (например, Microsoft SharePoint, Microsoft Exchange, Microsoft OneDrive и т. д.) |
Storage-Backed
Библиотеки — это коллекции папок хранения. Пользователи могут сохранять и копировать файлы в библиотеку напрямую, так как каждая библиотека имеет расположение сохранения по умолчанию для отправки этих файлов. Для библиотек по умолчанию это пользователь известная папка, включенная в библиотеку (например, мои документы), или первая папка, добавленная в пользовательскую библиотеку. Это папка, в которой отправляются файлы, когда пользователь перетаскивает файлы в библиотеку или сохраняет в библиотеку с общим диалоговым окном. Пользователь может изменить расположение сохранения библиотеки по умолчанию в любой момент, но если она удаляет расположение сохранения по умолчанию, следующая папка в библиотеке будет выбрана в качестве нового расположения сохранения. Пользователи могут дополнительно сохранить в любой папке, в которую у них есть разрешения, включенные в библиотеку.
Контейнеры оболочки, отличные от файловой системы
Библиотеки могут содержать контейнеры оболочки локальной файловой системы, такие как компьютер и панели управления, но содержат элементы файловой системы. Папки и содержимое библиотеки можно перечислить и получить к ним доступ с помощью API-интерфейсов для файлов и папок файловой системы в предыдущих операционных системах. Если приложение сильно зависит от определенных API файловой системы, то api IShellLibrary можно использовать для получения путей файловой системы папок и файлов в библиотеках. В большинстве случаев рекомендуется использовать модель программирования оболочки для поддержки нескольких версий Windows и гибкости элементов. Дополнительные сведения см. в навигации по пространству имен оболочки.
Описания библиотеки
Описания библиотек сохраняются на диске в виде XML-файла в папке %appdata%Microsoft\Windows\Libraryes (и потенциально как FOLDERID_Libraries. Дополнительные сведения о FOLDERID_Librariesсм. в разделе KNOWNFOLDERID.
Файлы описания библиотеки — это XML-файлы с расширением .library-ms. Они никогда не должны получать доступ к файлам или изменяться приложениями. Текст пути к папке, сохраненный в файлах описания библиотеки, не всегда является текущим. Папки библиотеки сохраняются в файле описания библиотеки в сериализованном двоичном формате ссылок оболочки. Дополнительные сведения о библиотеках и схеме описания библиотек см. в схеме описания библиотеки. Дополнительные сведения о федеративных соединителях поиска и схеме описания соединителя поиска схеме описания соединителя поиска.
[ПРИМЕЧАНИЕ]
Приложения всегда должны использовать модель программирования оболочки или API IShellLibrary для использования содержимого библиотеки и никогда не пытаться вручную получить доступ к файлу описания библиотеки или изменить его вручную.