Интеграция с Фотоальбом 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 search и приложениям , использующему System.Kind , что расширение имени файла (EXT) должно рассматриваться как изображение. В частности, он указывает, что свойству System.Kind расширения файла должно быть присвоено значение Picture.
HKEY_LOCAL_MACHINE
Software
Microsoft
Windows
CurrentVersion
Explorer
KindMap
{.ext} = Picture
Интеграция с хранилищем свойств Windows
Иногда одни и те же свойства метаданных предоставляются в разных схемах метаданных, часто с разными именами свойств. Если одно из этих свойств обновляется, а другие нет, метаданные в файле могут быть синхронизированы. Обработчик свойств photo предоставляет реализацию IPropertyStore по умолчанию для изображений и используется приложениями, а также Фотоальбом Windows и Обозреватель Windows, чтобы обеспечить синхронизацию всех метаданных в изображении и согласованность свойств, отображаемых приложениями, с теми, которые отображаются в Фотоальбом Windows и Windows Обозреватель. Когда обработчик свойств photo обновляет метаданные, он обеспечивает согласованное обновление этих свойств во всех общих форматах метаданных, присутствующих в файле.
Обработчик свойств photo должен понимать формат контейнера и способы поиска различных свойств в нем. Как правило, обработчик свойств photo не может знать, как различные блоки метаданных размещаются в закрытом формате контейнера. Однако если метаданные в формате контейнера размещены так же, как метаданные в формате контейнера TIFF или JPEG, обработчик свойств photo может воспользоваться преимуществами этих знаний для согласованного обновления метаданных в формате контейнера.
Эту связь можно зарегистрировать, создав следующую запись реестра. Эта запись уведомляет обработчик свойств photo о том, что формат контейнера, определенный этим 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 обработчика свойства photo по умолчанию с файлами с расширением .ext. Первый идентификатор GUID — это ИДЕНТИФИКАТОР интерфейса IPropertyStore , а второй — GUID реализации обработчика свойства photo.
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".)
Существуют и другие стандартные записи реестра, которые могут потребоваться создать для поддержки сопоставлений файлов; однако, поскольку они не относятся к 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}
Связанные темы
-
Основные понятия