Partager via


Entrées du Registre Decoder-Specific

Outre les entrées de Registre requises pour tous les encodeurs et décodeurs, les entrées de Registre suivantes sont requises spécifiquement pour les décodeurs.

Ces entrées inscrivent votre décodeur sous la catégorie des décodeurs WIC (Windows Imaging Component). Le premier GUID de ces entrées est l’identificateur de catégorie (CATID) pour WICBitmapDecoders.

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

Comme indiqué dans section Découverte et arbitrage section how The Windows Imaging Component Works, le mécanisme qui permet à un décodeur approprié pour une image spécifique d’être découverte au moment de l’exécution est basé sur la correspondance d’un modèle d’identification incorporé dans le fichier image avec un modèle spécifié dans l’entrée de Registre du décodeur. Pour activer la découverte au moment de l’exécution des décodeurs, vous devez inscrire le modèle d’identification unique pour votre format d’image comme suit. Toutes ces entrées de Registre sont requises, à l’exception de l’entrée EndOfStream, qui est facultative, comme décrit dans le tableau suivant.

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
Valeur Description
Position Décalage dans le fichier où se trouve le modèle.
Longueur Longueur du modèle.
Modèle Bits réels qui composent le modèle. Il s’agit des bits qui sont mis en correspondance avec le modèle d’identification dans un fichier image lors de la découverte.
Masque Autorise les valeurs génériques dans les modèles. Le masque est appliqué en effectuant une opération AND logique sur le modèle et le masque. Tout bit dans le modèle qui correspond à un bit dans le masque avec une valeur de 0 est ignoré.
EndOfStream Le décalage du modèle d’identification doit être calculé à partir de la fin du flux, plutôt que du début. Certains formats d’image placent le modèle d’identification à la fin ou à la fin du fichier. Étant donné que la valeur par défaut consiste à rechercher à partir du début, sauf si votre modèle se trouve à la fin du fichier, vous pouvez omettre cette entrée.

 

Un codec peut prendre en charge plusieurs modèles d’identification. Dans ce cas, vous répétez toutes les clés sous HKEY_CLASSES_ROOT\CLSID\{Decoder CLSID}\Patternset utilisez la clé numérique (0 dans l’exemple) pour faire la distinction entre les différents modèles. Vous devez inclure chacune des quatre valeurs sous la clé pour chaque modèle.

Inscription d’un format de conteneur auprès des lecteurs de métadonnées

Si vous créez un nouveau format de conteneur pour votre codec, vous devez également créer des entrées de Registre pour prendre en charge la découverte des lecteurs de métadonnées pour les blocs de métadonnées dans vos images, comme vous l’avez fait pour les enregistreurs de métadonnées. Les entrées suivantes doivent être créées sous l’identificateur de classe (CLSID) du lecteur de métadonnées pour chaque format de métadonnées pris en charge par votre format de conteneur. (Notez que, si votre codec utilise un conteneur TIFF (Tagged Image File Format), ces informations se trouvent déjà dans le registre.)

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

Étant donné que les entrées des lecteurs de métadonnées sont également utilisées pour la découverte, elles sont très similaires aux entrées pour les décodeurs. Ces entrées sont utilisées par la fabrique de composants pour rechercher les lecteurs de métadonnées pris en charge par votre conteneur, et pour sélectionner celle appropriée, lorsque votre IWICMetadataBlockReader l’implémentation demande un lecteur de métadonnées.

Valeur Description
Position Décalage dans le conteneur du bloc de métadonnées où se trouve l’en-tête de métadonnées. Pour les blocs de métadonnées de niveau supérieur, il s’agit du décalage dans le flux de fichiers. Pour les blocs de métadonnées imbriqués dans d’autres blocs de métadonnées, il s’agit du décalage relatif au bloc de métadonnées contenant.
Modèle Bits réels qui composent le modèle. Il s’agit des bits qui sont mis en correspondance avec le modèle d’identification dans un fichier image lors de la découverte.
Masque L’en-tête de métadonnées est généralement défini par le gestionnaire de métadonnées. Vous devez utiliser l’en-tête de métadonnées standard pour chaque lecteur, sauf si, pour une raison quelconque, le modèle doit avoir un format différent dans votre conteneur.
DataOffset Décalage du début de l’en-tête de métadonnées au début duquel les données réelles commencent. Dans les cas où les métadonnées ne se trouvent pas à un décalage spécifique de l’en-tête, cette entrée peut être omise.

 

conceptuelle

Encoder-Specific entrées du Registre

Intégration de à la galerie de photos Windows et à l’Explorateur Windows

Comment écrire un codec WIC-Enabled

Vue d’ensemble composant d’acquisition d’images Windows