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 |