Интеграция с коллекцией фотографий Windows и проводником Windows
Этот раздел относится к Windows Vista и более поздним версиям. Он содержит следующие разделы:
- введение
- интеграция с хранилищем свойств Windows
- интеграция с коллекцией фотографий Windows
- интеграция с кэшем эскизов Windows
- связанные разделы
Знакомство
Чтобы включить отображение эскизов и обновлений стандартных метаданных изображения в Коллекции фотографий Windows и Проводнике Windows, кодек должен иметь реализацию интерфейсов IThumbnailProvider и IPropertyStore интерфейсов. Интерфейс IThumbnailProvider используется для получения эскизов и заполнения кэша эскизов, а интерфейс IPropertyStore используется для поиска и обновления метаданных, связанных с файлом. По состоянию на Windows Vista все типы файлов имеют эскизы и метаданные, но разные типы файлов требуют различных реализаций этих интерфейсов для получения или создания эскизов и метаданных для них. Система предоставляет реализации этих интерфейсов по умолчанию. Реализация IThumbnailProvider по умолчанию может использоваться для любого формата образа с поддержкой Образа Windows (WIC). Реализация по умолчанию IPropertyStore может использоваться с любым форматом изображения с поддержкой WIC, основанным на формате файла тегов (TIFF) или контейнере JPEG. Чтобы связать формат изображения с реализациями обоих этих интерфейсов по умолчанию, необходимо добавить только несколько записей реестра.
Следующие записи указывают на коллекцию фотографий Windows и проводник Windows, что расширение имени файла (.ext) и связанный с ним тип MIME связаны с форматом изображения.
Следующая запись указывает на Windows и приложения, использующие тип контента (также известный как тип mime), что файл с заданным расширением (EXT) является форматом изображения. Владелец типа файла должен выбрать <image sub type value>
, который однозначно идентифицирует формат файла, и это значение типа контента необходимо зарегистрировать в IANA.
HKEY_CLASSES_ROOT
{.ext}
ContentType = image/<image sub type>
Следующая запись указывает на Windows, поиск Windows и приложения, использующие System.Kind, что расширение имени файла (.ext) должно рассматриваться как рисунок. В частности, это означает, что для свойства System.Kind расширения файла должно быть задано значение Picture.
HKEY_LOCAL_MACHINE
Software
Microsoft
Windows
CurrentVersion
Explorer
KindMap
{.ext} = Picture
Интеграция с Магазином свойств Windows
Иногда одни и те же свойства метаданных предоставляются в разных схемах метаданных, часто с различными именами свойств. Когда одно из этих свойств обновляется, но другие не являются, метаданные в файле могут выйти из синхронизации. Обработчик свойств фотографий предоставляет реализацию IPropertyStore для изображений и используется приложениями, а также коллекцией фотографий Windows и проводником Windows, чтобы убедиться, что все метаданные в изображении остаются в синхронизации, и что свойства, отображаемые приложениями, согласованы с теми, которые отображаются в коллекции фотографий Windows и проводнике Windows. Когда обработчик свойств фотографий обновляет метаданные, они постоянно обновляются во всех общих форматах метаданных, присутствующих в файле.
Обработчик свойств фотографии должен понять формат контейнера и как найти в нем различные свойства. Как правило, обработчик свойств фотографий не может знать, как различные блоки метаданных размещаются в закрытом формате контейнера. Однако если метаданные в формате контейнера размещаются так же, как метаданные в формате контейнера TIFF или формате JPEG, обработчик свойств фотографий может использовать эти знания для последовательного обновления метаданных в формате контейнера.
Эту связь можно зарегистрировать, создав следующую запись реестра. Эта запись уведомляет обработчик свойств фотографии о том, что формат контейнера, определенный этим GUID, понимает те же пути языка запросов метаданных, что и формат контейнера с GUID 163bcc30-e2e9-4f0b-961d-a3e9fdb788a3. (163bcc30-e2e9-4f0b-961d-a3e9fdb788a3 — это GUID для формата контейнера TIFF.)
HKEY_LOCAL_MACHINE
SOFTWARE
Microsoft
Windows
CurrentVersion
PhotoPropertyHandler
ContainerAssociations
{Container Format GUID} = {163bcc30-e2e9-4f0b-961d-a3e9fdb788a3}
Следующая запись связывает реализацию обработчика свойств фото по умолчанию IPropertyStore с файлами с расширением ".ext". Первый GUID является IID интерфейса IPropertyStore, а второй — GUID реализации обработчика свойств фотографий.
HKEY_LOCAL_MACHINE
SOFTWARE
Microsoft
Windows
CurrentVersion
PhotoPropertyHandler
{.ext}
(Default) = {a38b883c-1682-497e-97b0-0a3a9e801682}
Кодеки, использующие собственный формат, несовместимый с форматом контейнера TIFF или JPEG, должны записывать собственные реализацию IPropertyStore.
Интеграция с коллекцией фотографий Windows
Коллекция фотографий Windows основана на WIC и может отображать любой формат изображения с поддержкой WIC, для которого установлен кодек. Чтобы уведомить систему о том, что формат изображения можно открыть в фотоальбоме Windows, необходимо создать сопоставление файлов, создав следующие записи реестра.
HKEY_CLASSES_ROOT
{.ext}
(Default) = {ProgID} for example, jpegfile)
OpenWithProgids
{ProgID}
OpenWithList
PhotoViewer.dll
ShellEx
ContextMenuHandlers
ShellImagePreview
(Default) = {FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}
SystemFileAssociations
{.ext}
OpenWithList
PhotoViewer.dll
ShellEx
ContextMenuHandlers
ShellImagePreview
(Default) = {FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}
{Image Format ProgID}
(Default) = Name of Image Format
DefaultIcon
(Default) = Path to icon for type, icon index
shell
open
MuiVerb = @%PROGRAMFILES%\Windows Photo Gallery\photoviewer.dll,-3043
command
(Default) = %SystemRoot%\System32\rundll32.exe "%ProgramFiles%\Windows Photo Gallery\PhotoViewer.dll", ImageView_Fullscreen %1
DropTarget
Clsid = {FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}
printo
command
(Default) = %SystemRoot%\System32\rundll32.exe "%SystemRoot%\System32\shimgvw.dll", ImageView_PrintTo /pt "%1" "%2" "%3" "%4"
ProgID обычно является расширением имени файла, добавленным словом "file". (Например, если расширение имени файла .txt, идентификатор ProgID обычно будет "txtfile".)
Для поддержки сопоставлений файлов может потребоваться создать другие стандартные записи реестра; однако, так как "y" не относятся к WIC, они выходят за рамки этой статьи.
Интеграция с кэшем эскизов Windows
В следующих двух записях указывается, что стандартная реализация поставщика эскизов WIC может использоваться для получения эскизов для файлов с этим расширением. Первый GUID является IID интерфейса IThumbnailProvider, а второй — GUID стандартной системной реализации этого интерфейса. (Все записи в HKCR\.ext\ShellEx\ повторяются в HKCR\SystemFileAssociations\.ext\ShellEx\.).
HKEY_CLASSES_ROOT
SystemFileAssociations
{.ext}
ShellEx
{e357fccd-a995-4576-b01f-234630154e96}
(Default) = {C7657C4A-9F68-40fa-A4DF-96BC08EB3551}
Связанные разделы
-
концептуальные