MFTRegister, fonction (mfapi.h)

Ajoute des informations sur une transformation Media Foundation (MFT) au Registre.

Les applications peuvent énumérer la MFT en appelant la fonction MFTEnum ou MFTEnumEx .

Syntaxe

HRESULT MFTRegister(
  [in] CLSID                  clsidMFT,
  [in] GUID                   guidCategory,
  [in] LPWSTR                 pszName,
  [in] UINT32                 Flags,
  [in] UINT32                 cInputTypes,
  [in] MFT_REGISTER_TYPE_INFO *pInputTypes,
  [in] UINT32                 cOutputTypes,
  [in] MFT_REGISTER_TYPE_INFO *pOutputTypes,
  [in] IMFAttributes          *pAttributes
);

Paramètres

[in] clsidMFT

CLSID du MFT. Le MFT doit également être inscrit en tant qu’objet COM à l’aide du même CLSID.

[in] guidCategory

GUID qui spécifie la catégorie du MFT. Pour obtenir la liste des catégories MFT, consultez MFT_CATEGORY.

[in] pszName

Chaîne de caractères larges qui contient le nom convivial du MFT.

[in] Flags

OR au niveau du bit de zéro ou plus des indicateurs suivants de l’énumération _MFT_ENUM_FLAG :

Valeur Signification
MFT_ENUM_FLAG_ASYNCMFT
Le MFT effectue un traitement asynchrone dans un logiciel. Consultez MfT asynchrones. Cet indicateur ne s’applique pas aux transformations matérielles.

Nécessite Windows 7.

MFT_ENUM_FLAG_FIELDOFUSE
L’application doit déverrouiller le MFT pour pouvoir l’utiliser. Consultez IMFFieldOfUseMFTUnlock.

Nécessite Windows 7.

MFT_ENUM_FLAG_HARDWARE
Le MFT effectue le traitement des données basé sur le matériel, à l’aide du pilote AVStream ou d’un proxy MFT basé sur GPU. Les mfts de cette catégorie traitent toujours les données de manière asynchrone. Consultez MfT matériels.
Note Cet indicateur s’applique aux codecs vidéo et aux processeurs vidéo qui effectuent leur travail entièrement dans le matériel. Elle ne s’applique pas aux décodeurs logiciels qui utilisent DirectX Video Acceleration pour faciliter le décodage.
 
Nécessite Windows 7.
MFT_ENUM_FLAG_SYNCMFT
Le MFT effectue un traitement synchrone dans un logiciel. Cet indicateur ne s’applique pas aux transformations matérielles.
MFT_ENUM_FLAG_TRANSCODE_ONLY
Le MFT est optimisé pour le transcodage et ne doit pas être utilisé pour la lecture.

Nécessite Windows 7.

 

La définition d’indicateurs sur zéro revient à définir l’indicateur MFT_ENUM_FLAG_SYNCMFT . Le modèle de traitement par défaut pour les mfts est le traitement synchrone.

Avant Windows 7, le paramètre Flags était réservé.

[in] cInputTypes

Nombre d’éléments dans le tableau pInputTypes .

[in] pInputTypes

Pointeur vers un tableau de structures MFT_REGISTER_TYPE_INFO . Chaque membre du tableau spécifie un format d’entrée pris en charge par MFT. Ce paramètre peut être NULL.

Ce paramètre peut être NULL. Toutefois, si le paramètre a la valeur NULL, MFT est énuméré uniquement lorsqu’une application spécifie NULL pour le type d’entrée souhaité.

[in] cOutputTypes

Nombre d’éléments dans le tableau pOutputTypes .

[in] pOutputTypes

Pointeur vers un tableau de structures MFT_REGISTER_TYPE_INFO . Chaque membre du tableau définit un format de sortie pris en charge par MFT.

Ce paramètre peut être NULL. Toutefois, si le paramètre a la valeur NULL, MFT est énuméré uniquement lorsqu’une application spécifie NULL pour le type de sortie souhaité.

[in] pAttributes

Pointeur vers l’interface IMFAttributes d’un magasin d’attributs qui contient des informations de Registre supplémentaires. Ce paramètre peut être NULL. Si le paramètre n’est pas NULL, les attributs sont écrits dans le Registre sous la forme d’un tableau d’octets. Vous pouvez utiliser la fonction MFTGetInfo pour récupérer les attributs.

L’attribut suivant est défini pour ce paramètre :

Valeur Signification
MFT_CODEC_MERIT_Attribute
Contient la valeur de mérite d’un codec matériel. Consultez Codec Merit.

Valeur retournée

Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Notes

Les entrées de Registre créées par cette fonction sont lues par les fonctions suivantes :

Fonction Description
MFTEnum Énumère les fichiers MFT par type et catégorie de média.
MFTEnumEx Version étendue de MFTEnum.
MFTGetInfo Recherche un MFT by CLSID et récupère les informations de Registre.
 

Cette fonction n’inscrit pas le CLSID du MFT pour les fonctions CoCreateInstance ou CoGetClassObject .

Pour supprimer les entrées du Registre, appelez MFTUnregister. Si vous supprimez un MFT du système, vous devez toujours appeler MFTUnregister.

Les formats indiqués dans les paramètres pInputTypes et pOutputTypes sont destinés à aider les applications à rechercher des MFT par format. Les applications peuvent utiliser les fonctions MFTEnum ou MFTEnumEx pour énumérer les fichiers MFT qui correspondent à un ensemble particulier de formats.

Il est recommandé de spécifier au moins un type d’entrée dans pInputTypes et un type de sortie dans le paramètre pOutputTypes . Sinon, le MFT peut être ignoré dans l’énumération.

Sur Windows 64 bits, la version 32 bits de cette fonction inscrit le MFT dans le nœud 32 bits du Registre. Pour plus d’informations, consultez Données d’application 32 bits et 64 bits dans le Registre.

Configuration requise

   
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête mfapi.h
Bibliothèque Mfplat.lib
DLL Mfplat.dll

Voir aussi

MFTEnumEx

Fonctions Media Foundation

Transformations de Media Foundation

_MFT_ENUM_FLAG