Compartir a través de


Función MFCreateTransformActivate (mftransform.h)

Crea un objeto de activación genérico para las transformaciones (MFT) de Media Foundation.

Sintaxis

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

Parámetros

[out] ppActivate

Recibe un puntero a la interfaz IMFActivate . El autor de la llamada debe liberar la interfaz .

Valor devuelto

Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

La mayoría de las aplicaciones no usarán esta función; la función MFTEnumEx la usa internamente.

Un objeto de activación es un objeto auxiliar que crea otro objeto, algo similar a un generador de clases. La función MFCreateTransformActivate crea un objeto de activación para las MFT. Para que este objeto de activación pueda crear un MFT, el autor de la llamada debe inicializar el objeto de activación estableciendo uno o varios atributos en él.

Atributo Descripción
MFT_TRANSFORM_CLSID_Attribute Necesario. Contiene el CLSID del MFT. El objeto de activación crea el MFT pasando este CLSID a la función CoCreateInstance .
MF_TRANSFORM_CATEGORY_Attribute Opcional. Especifica la categoría del MFT.
MF_TRANSFORM_FLAGS_Attribute Contiene varias marcas que describen el MFT. En el caso de las MFP basadas en hardware, establezca la marca MFT_ENUM_FLAG_HARDWARE . De lo contrario, este atributo es opcional.
MFT_CODEC_MERIT_Attribute Opcional. Contiene el valor de mérito de un códec de hardware.

Si se establece este atributo y su valor es mayor que cero, el objeto de activación llama a MFGetMFTMerit para obtener el valor de mérito de confianza para MFT. Si el mérito de confianza es menor que el valor de este atributo, se produce un error en el método IMFActivate::ActivateObject del objeto de activación y devuelve MF_E_INVALID_CODEC_MERIT.

MFT_ENUM_HARDWARE_URL_Attribute Se requiere para las MFT basadas en hardware. Especifica el vínculo simbólico para el dispositivo de hardware. El proxy de dispositivo usa este valor para configurar MFT.
MFT_FIELDOFUSE_UNLOCK_Attribute Opcional. Contiene un puntero IMFFieldOfUseMFTUnlock , que se puede usar para desbloquear el MFT. La interfaz IMFFieldOfUseMFTUnlock se usa con MFP que tienen restricciones de uso.

Si se establece este atributo y el atributo MF_TRANSFORM_FLAGS_Attribute contiene la marca MFT_ENUM_FLAG_FIELDOFUSE , el objeto de activación llama a IMFFieldOfUseMFTUnlock::Unlock cuando crea el MFT. Una aplicación también puede establecer el atributo MFT_FIELDOFUSE_UNLOCK_Attribute sin establecer la marca MFT_ENUM_FLAG_FIELDOFUSE . En ese caso, la aplicación debe llamar a Unlock.

MFT_PREFERRED_ENCODER_PROFILE Opcional. Contiene el perfil de codificación de un codificador. El valor de este atributo es un puntero IMFAttributes .

Si se establece este atributo y el valor del atributo MF_TRANSFORM_CATEGORY_Attribute es MFT_CATEGORY_AUDIO_ENCODER o MFT_CATEGORY_VIDEO_ENCODER, el objeto de activación usa el perfil de codificación para configurar el MFT. El MFT debe exponer ICodecAPI o IPropertyStore para este fin.

MFT_PREFERRED_OUTPUTTYPE_Attribute Opcional. Especifica el formato de salida preferido para un codificador.

Si este conjunto de atributos y el valor del atributo MF_TRANSFORM_CATEGORY_Attribute es MFT_CATEGORY_AUDIO_ENCODER o MFT_CATEGORY_VIDEO_ENCODER, el objeto de activación establece este tipo de medio en el MFT.

 

Para obtener más información sobre los objetos de activación, vea Objetos de activación.

Requisitos

   
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado mftransform.h
Library Mfplat.lib
Archivo DLL Mfplat.dll

Consulte también

Objetos de activación

Funciones de Media Foundation

Transformaciones de Media Foundation