Compartir a través de


entradas del Registro de Decoder-Specific

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 del componente 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 sección detección y arbitraje de Cómo funciona el componente de imágenes de Windows, el mecanismo que permite que se detecte una imagen específica 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 de la manera siguiente. Todas estas entradas del Registro son necesarias, excepto para la entrada de 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.
Largura Longitud del patrón.
Patrón Bits reales que componen el patrón. Estos son los bits que coinciden 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. Se omite cualquier bit del patrón que corresponda a un bit de la máscara con un valor de 0.
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 debajo de 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 seleccionar el adecuado, cuando el IWICMetadataBlockReader implementación 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 coinciden 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 desde el encabezado, esta entrada se puede omitir.

 

conceptual de

Encoder-Specific entradas del Registro

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

cómo escribir un CODEC de WIC-Enabled

información general del componente de imágenes de Windows