Decoder-Specific entradas del Registro

Además de las entradas del Registro necesarias para todos los codificadores y descodificadores, se requieren las siguientes entradas del Registro específicamente para los descodificadores.

Estas entradas registran el descodificador en la categoría de descodificadores de Componente de creación de imágenes de Windows (WIC). El primer GUID de estas entradas es el identificador de categoría (CATID) para WICBitmapDecoders.

HKEY_CLASSES_ROOT
   CLSID
      {7ED96837-96F0-4812-B211-F13C24117ED3}
         Instance
            {Decoder CLSID}
               CLSID = {Decoder CLSID}
               FriendlyName = {Name of Decoder}

Como se indicó en la sección Detección y arbitraje de Cómo funciona el componente de creación de imágenes de Windows, el mecanismo que permite que un descodificador adecuado para una imagen específica se detecte en tiempo de ejecución se basa en la coincidencia de un patrón de identificación incrustado en el archivo de imagen con un patrón especificado en la entrada del registro del descodificador. Para habilitar la detección en tiempo de ejecución de descodificadores, debe registrar el patrón de identificación único para el formato de imagen como se indica a continuación. Todas estas entradas del Registro son necesarias excepto para la entrada EndOfStream , que es opcional, como se describe en la tabla siguiente.

HKEY_CLASSES_ROOT
   CLSID
      {Decoder CLSID}
         Patterns
            {0}
               Position = Offset in block
               Length = Length of pattern
               Pattern = Pattern to match
               Mask = FF FF FF FF
               EndOfStream = 0|1
Valor Descripción
Posición Desplazamiento en el archivo donde se puede encontrar el patrón.
Longitud Longitud del patrón.
Patrón Bits reales que componen el patrón. Estos son los bits que se comparan con el patrón de identificación de un archivo de imagen durante la detección.
Máscara Permite valores comodín en patrones. La máscara se aplica realizando una operación AND lógica en el patrón y la máscara. Cualquier bit del patrón que corresponda a un bit de la máscara con un valor de 0 se omite.
EndOfStream El desplazamiento del patrón de identificación debe calcularse desde el final de la secuencia, en lugar del principio. Algunos formatos de imagen colocan el patrón de identificación en o cerca del final del archivo. Dado que el valor predeterminado es buscar desde el principio, a menos que el patrón esté cerca del final del archivo, puede omitir esta entrada.

 

Un códec puede admitir más de un patrón de identificación. En ese caso, repetiría todas las claves en HKEY_CLASSES_ROOT\CLSID\{Decoder CLSID}\Patternsy usaría la clave numérica (0 en el ejemplo) para distinguir entre los distintos patrones. Debe incluir cada uno de los cuatro valores en la clave para cada patrón.

Registro de un formato de contenedor con lectores de metadatos

Si crea un nuevo formato de contenedor para el códec, también debe crear entradas del Registro para admitir la detección de lectores de metadatos para los bloques de metadatos de las imágenes, igual que para los escritores de metadatos. Las siguientes entradas deben crearse en el identificador de clase (CLSID) del lector de metadatos para cada formato de metadatos que admita el formato de contenedor. (Tenga en cuenta que, si el códec usa un contenedor de formato de archivo de imagen etiquetada (TIFF), esta información ya está en el registro).

HKEY_CLASSES_ROOT
   CLSID
      {Metadata Reader CLSID}
         Containers
            {Container Format GUID}
               
                  Position = Offset relative to its container
                  Pattern = Pattern used for metadata header
                  Mask = FF FF FF FF
                  DataOffset = Offset from beginning of header

Dado que las entradas de los lectores de metadatos también se usan para la detección, son muy similares a las entradas de los descodificadores. El generador de componentes usa estas entradas para buscar los lectores de metadatos admitidos por el contenedor y para seleccionar el adecuado, cuando la implementación de IWICMetadataBlockReader solicita un lector de metadatos.

Valor Descripción
Posición Desplazamiento en el contenedor del bloque de metadatos donde se puede encontrar el encabezado de metadatos. En el caso de los bloques de metadatos de nivel superior, este es el desplazamiento en la secuencia de archivos. En el caso de los bloques de metadatos anidados en otros bloques de metadatos, es el desplazamiento relativo al bloque de metadatos contenedor.
Patrón Bits reales que componen el patrón. Estos son los bits que se comparan con el patrón de identificación de un archivo de imagen durante la detección.
Máscara Generalmente, el controlador de metadatos define el encabezado de metadatos. Debe usar el encabezado de metadatos estándar para cada lector a menos que, por algún motivo, el patrón debe tener un formato diferente en el contenedor.
DataOffset Desplazamiento desde el principio del encabezado de metadatos en el que comienzan los datos reales. En los casos en los que los metadatos no se encuentran en un desplazamiento específico del encabezado, esta entrada se puede omitir.

 

Conceptual

Entradas del Registro específicas del codificador

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

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

Información general del componente de creación de imágenes de Windows