Partager via


Fonction MFCreateTransformActivate (mftransform.h)

Crée un objet d’activation générique pour les transformations Media Foundation (MFT).

Syntaxe

HRESULT MFCreateTransformActivate(
  [out] IMFActivate **ppActivate
);

Paramètres

[out] ppActivate

Reçoit un pointeur vers l’interface IMFActivate . L’appelant doit libérer l’interface.

Valeur retournée

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

Notes

La plupart des applications n’utilisent pas cette fonction ; il est utilisé en interne par la fonction MFTEnumEx .

Un objet d’activation est un objet d’assistance qui crée un autre objet, un peu similaire à une fabrique de classes. La fonction MFCreateTransformActivate crée un objet d’activation pour les mfts. Avant que cet objet d’activation puisse créer un MFT, l’appelant doit initialiser l’objet d’activation en définissant un ou plusieurs attributs sur celui-ci.

Attribut Description
MFT_TRANSFORM_CLSID_Attribute Obligatoire. Contient le CLSID du MFT. L’objet d’activation crée le MFT en passant ce CLSID à la fonction CoCreateInstance .
MF_TRANSFORM_CATEGORY_Attribute Optionnel. Spécifie la catégorie du MFT.
MF_TRANSFORM_FLAGS_Attribute Contient différents indicateurs qui décrivent le MFT. Pour les mfts basés sur le matériel, définissez l’indicateur MFT_ENUM_FLAG_HARDWARE . Sinon, cet attribut est facultatif.
MFT_CODEC_MERIT_Attribute Optionnel. Contient la valeur de mérite d’un codec matériel.

Si cet attribut est défini et que sa valeur est supérieure à zéro, l’objet d’activation appelle MFGetMFTMerit pour obtenir la valeur de mérite approuvée pour le MFT. Si le mérite approuvé est inférieur à la valeur de cet attribut, la méthode IMFActivate::ActivateObject de l’objet d’activation échoue et retourne MF_E_INVALID_CODEC_MERIT.

MFT_ENUM_HARDWARE_URL_Attribute Obligatoire pour les mfts basés sur le matériel. Spécifie le lien symbolique pour l’appareil matériel. Le proxy d’appareil utilise cette valeur pour configurer le MFT.
MFT_FIELDOFUSE_UNLOCK_Attribute Optionnel. Contient un pointeur IMFFieldOfUseMFTUnlock , qui peut être utilisé pour déverrouiller le MFT. L’interface IMFFieldOfUseMFTUnlock est utilisée avec les MFT qui ont des restrictions d’utilisation.

Si cet attribut est défini et que l’attribut MF_TRANSFORM_FLAGS_Attribute contient l’indicateur MFT_ENUM_FLAG_FIELDOFUSE , l’objet d’activation appelle IMFFieldOfUseMFTUnlock::Unlock lorsqu’il crée le MFT. Une application peut également définir l’attribut MFT_FIELDOFUSE_UNLOCK_Attribute sans définir l’indicateur MFT_ENUM_FLAG_FIELDOFUSE . Dans ce cas, l’application doit appeler Unlock.

MFT_PREFERRED_ENCODER_PROFILE Optionnel. Contient le profil d’encodage d’un encodeur. La valeur de cet attribut est un pointeur IMFAttributes .

Si cet attribut est défini et que la valeur de l’attribut MF_TRANSFORM_CATEGORY_Attribute est MFT_CATEGORY_AUDIO_ENCODER ou MFT_CATEGORY_VIDEO_ENCODER, l’objet d’activation utilise le profil d’encodage pour configurer le MFT. Le MFT doit exposer ICodecAPI ou IPropertyStore à cet effet.

MFT_PREFERRED_OUTPUTTYPE_Attribute Optionnel. Spécifie le format de sortie préféré pour un encodeur.

Si cet ensemble d’attributs et la valeur de l’attribut MF_TRANSFORM_CATEGORY_Attribute est MFT_CATEGORY_AUDIO_ENCODER ou MFT_CATEGORY_VIDEO_ENCODER, l’objet d’activation définit ce type de média sur le MFT.

 

Pour plus d’informations sur les objets d’activation, consultez Objets d’activation.

Configuration requise

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

Voir aussi

Objets d’activation

Fonctions Media Foundation

Transformations de Media Foundation