Integración con la Galería de fotos de Windows y el Explorador de Windows

Este tema se aplica a Windows Vista y versiones posteriores. Contiene las secciones siguientes:

Introducción

Para permitir que la Galería de fotos de Windows y el Explorador de Windows muestren miniaturas y busquen y actualicen los metadatos de imagen estándar, un códec debe tener una implementación de las interfaces IThumbnailProvider e IPropertyStore asociadas. La interfaz IThumbnailProvider se usa para recuperar miniaturas y rellenar la memoria caché de miniaturas, y la interfaz IPropertyStore se usa para buscar y actualizar metadatos asociados a un archivo. A partir de Windows Vista, todos los tipos de archivo tienen miniaturas y metadatos, pero los distintos tipos de archivo requieren implementaciones diferentes de estas interfaces para recuperar o generar las miniaturas y los metadatos para ellos. El sistema proporciona implementaciones predeterminadas de estas interfaces. La implementación predeterminada de IThumbnailProvider se puede usar para cualquier formato de imagen habilitado para componentes de imágenes de Windows (WIC). La implementación predeterminada de IPropertyStore se puede usar con cualquier formato de imagen habilitado para WIC basado en un contenedor de formato de archivo de imagen etiquetado (TIFF) o JPEG. Para asociar el formato de imagen a las implementaciones predeterminadas de ambas interfaces, debe agregar solo algunas entradas del Registro.

Las siguientes entradas indican a la Galería de fotos de Windows y al Explorador de Windows que una extensión de nombre de archivo (.ext) y su tipo MIME asociado están asociados a un formato de imagen.

La siguiente entrada indica a Windows y las aplicaciones que usan el tipo de contenido (también conocido como tipo mime) que un archivo con una extensión determinada (.ext) es un formato de imagen. El propietario del tipo de archivo debe elegir un <image sub type value> que identifique de forma única el formato de archivo y este valor de tipo de contenido debe registrarse con IANA.

HKEY_CLASSES_ROOT
   {.ext}
      ContentType = image/<image sub type>

La siguiente entrada indica a Windows, la búsqueda de Windows y las aplicaciones que usan System.Kind que una extensión de nombre de archivo (.ext) debe tratarse como una imagen. En concreto, indica que la propiedad System.Kind de la extensión de archivo debe establecerse en Picture.

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            CurrentVersion
               Explorer
                  KindMap
                     {.ext} = Picture

Integración con la Tienda de propiedades de Windows

A veces, las mismas propiedades de metadatos se exponen en esquemas de metadatos diferentes, a menudo con nombres de propiedad diferentes. Cuando se actualiza una de estas propiedades, pero las demás no, los metadatos del archivo pueden salir de la sincronización. El controlador de propiedades photo proporciona la implementación predeterminada de IPropertyStore para las imágenes y las aplicaciones, así como por la Galería de fotos de Windows y el Explorador de Windows para asegurarse de que todos los metadatos de una imagen permanecen sincronizados y que las propiedades mostradas por las aplicaciones son coherentes con las mostradas por la Galería de fotos de Windows y el Explorador de Windows. Cuando el controlador de propiedades photo actualiza los metadatos, se asegura de que estas propiedades se actualizan de forma coherente en todos los formatos de metadatos comunes que están presentes en el archivo.

El controlador de propiedad photo debe comprender el formato de contenedor y cómo localizar las distintas propiedades dentro de ella. En general, no es posible que el controlador de propiedades de fotos sepa cómo se disponen los distintos bloques de metadatos en un formato de contenedor propietario. Sin embargo, si los metadatos en el formato de contenedor se disponen de la misma manera que los metadatos en un formato de contenedor TIFF o en un formato de contenedor JPEG, el controlador de propiedades photo también puede aprovechar ese conocimiento para actualizar los metadatos de forma coherente en el formato de contenedor.

Para registrar esta asociación, cree la siguiente entrada del Registro. Esta entrada notifica al controlador de propiedades photo que el formato de contenedor identificado por este GUID entiende las mismas rutas de acceso del lenguaje de consulta de metadatos que el formato de contenedor con el GUID 163bcc30-e2e9-4f0b-961d-a3e9fdb788a3. (163bcc30-e2e9-4f0b-961d-a3e9fdb788a3 es el GUID para el formato de contenedor TIFF).

HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Windows
            CurrentVersion
               PhotoPropertyHandler
                  ContainerAssociations
                     {Container Format GUID} = {163bcc30-e2e9-4f0b-961d-a3e9fdb788a3}

La siguiente entrada asocia la implementación predeterminada del controlador de la propiedad photo de IPropertyStore con archivos que tienen la extensión ".ext". El primer GUID es el IID de la interfaz IPropertyStore y el segundo es el GUID de la implementación del controlador de la propiedad photo.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Windows
            CurrentVersion
               PhotoPropertyHandler
                  {.ext}
                     (Default) = {a38b883c-1682-497e-97b0-0a3a9e801682}

Los códecs que usan un formato propietario que no es compatible con el formato de contenedor TIFF o JPEG deben escribir su propia implementación de IPropertyStore .

La Galería de fotos de Windows se basa en WIC y puede mostrar cualquier formato de imagen habilitado para WIC para el que está instalado el códec. Para notificar al sistema que el formato de imagen se puede abrir en la Galería de fotos de Windows, debe crear una asociación de archivos mediante la creación de las siguientes entradas del Registro.

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 suele ser la extensión de nombre de archivo anexada con la palabra "file". (Por ejemplo, si la extensión de nombre de archivo es .txt, el ProgID normalmente sería "txtfile".

Hay otras entradas estándar del Registro que es posible que deba crear para admitir asociaciones de archivos; sin embargo, dado que 'y no son específicos de WIC, están fuera del ámbito de este tema.

Integración con la caché de miniaturas de Windows

Las dos entradas siguientes indican que la implementación estándar del proveedor de miniaturas de WIC se puede usar para recuperar miniaturas de los archivos con esta extensión. El primer GUID es el IID de la interfaz IThumbnailProvider y el segundo es el GUID de la implementación estándar del sistema de esta interfaz. (Todas las entradas de HKCR\.ext\ShellEx\ se repiten en HKCR\SystemFileAssociations\.ext\ShellEx\).)

HKEY_CLASSES_ROOT
   SystemFileAssociations
      {.ext}
         ShellEx
            {e357fccd-a995-4576-b01f-234630154e96}
               (Default) = {C7657C4A-9F68-40fa-A4DF-96BC08EB3551}

Conceptual

Entradas del Registro específicas del codificador

Instalación y registro de CODEC

Cómo escribir un CÓDEC de WIC-Enabled

Información general sobre el componente de creación de imágenes de Windows