Función MFTRegister (mfapi.h)

Agrega información sobre una transformación de Media Foundation (MFT) al registro.

Las aplicaciones pueden enumerar el MFT llamando a la función MFTEnum o MFTEnumEx .

Sintaxis

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
);

Parámetros

[in] clsidMFT

ClSID del MFT. El MFT también debe estar registrado como un objeto COM con el mismo CLSID.

[in] guidCategory

GUID que especifica la categoría del MFT. Para obtener una lista de las categorías de MFT, consulte MFT_CATEGORY.

[in] pszName

Cadena de caracteres anchos que contiene el nombre descriptivo del MFT.

[in] Flags

OR bit a bit de cero o más de las marcas siguientes de la enumeración _MFT_ENUM_FLAG:

Valor Significado
MFT_ENUM_FLAG_ASYNCMFT
MFT realiza el procesamiento asincrónico en el software. Consulte MFP asincrónicas. Esta marca no se aplica a las transformaciones de hardware.

Requiere Windows 7.

MFT_ENUM_FLAG_FIELDOFUSE
La aplicación debe desbloquear el MFT para poder usarlo. Consulte IMFFieldOfUseMFTUnlock.

Requiere Windows 7.

MFT_ENUM_FLAG_HARDWARE
MFT realiza el procesamiento de datos basado en hardware, mediante el controlador AVStream o un proxy basado en GPU MFT. Las MFT de esta categoría siempre procesan los datos de forma asincrónica. Consulte MFP de hardware.
Nota Esta marca se aplica a los códecs de vídeo y a los procesadores de vídeo que realizan su trabajo por completo en hardware. No se aplica a los descodificadores de software que usan DirectX Video Acceleration para ayudar a descodificar.
 
Requiere Windows 7.
MFT_ENUM_FLAG_SYNCMFT
El MFT realiza el procesamiento sincrónico en el software. Esta marca no se aplica a las transformaciones de hardware.
MFT_ENUM_FLAG_TRANSCODE_ONLY
El MFT está optimizado para la transcodificación y no debe usarse para la reproducción.

Requiere Windows 7.

 

Establecer marcas en cero equivale a establecer la marca MFT_ENUM_FLAG_SYNCMFT . El modelo de procesamiento predeterminado para las MFT es el procesamiento sincrónico.

Antes de Windows 7, se reservaba el parámetro Flags .

[in] cInputTypes

Número de elementos de la matriz pInputTypes .

[in] pInputTypes

Puntero a una matriz de estructuras de MFT_REGISTER_TYPE_INFO . Cada miembro de la matriz especifica un formato de entrada que admite MFT. Este parámetro puede ser NULL.

Este parámetro puede ser NULL. Sin embargo, si el parámetro es NULL, el MFT se enumerará solo cuando una aplicación especifique NULL para el tipo de entrada deseado.

[in] cOutputTypes

Número de elementos de la matriz pOutputTypes .

[in] pOutputTypes

Puntero a una matriz de estructuras de MFT_REGISTER_TYPE_INFO . Cada miembro de la matriz define un formato de salida que admite MFT.

Este parámetro puede ser NULL. Sin embargo, si el parámetro es NULL, el MFT se enumerará solo cuando una aplicación especifique NULL para el tipo de salida deseado.

[in] pAttributes

Puntero a la interfaz IMFAttributes de un almacén de atributos que contiene información adicional del Registro. Este parámetro puede ser NULL. Si el parámetro no es NULL, los atributos se escriben en el Registro como una matriz de bytes. Puede usar la función MFTGetInfo para recuperar los atributos.

El atributo siguiente se define para este parámetro:

Valor Significado
MFT_CODEC_MERIT_Attribute
Contiene el valor de mérito de un códec de hardware. Consulta Códec Merit.

Valor devuelto

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

Comentarios

Las siguientes funciones leen las entradas del Registro creadas por esta función:

Función Descripción
MFTEnum Enumera las MFP por tipo de medio y categoría.
MFTEnumEx Versión extendida de MFTEnum.
MFTGetInfo Busca un MFT por CLSID y recupera la información del Registro.
 

Esta función no registra el CLSID del MFT para las funciones CoCreateInstance o CoGetClassObject .

Para quitar las entradas del Registro, llame a MFTUnregister. Si quita un MFT del sistema, siempre debe llamar a MFTUnregister.

Los formatos proporcionados en los parámetros pInputTypes y pOutputTypes están diseñados para ayudar a las aplicaciones a buscar MFT por formato. Las aplicaciones pueden usar las funciones MFTEnum o MFTEnumEx para enumerar las MFP que coinciden con un conjunto determinado de formatos.

Se recomienda especificar al menos un tipo de entrada en pInputTypes y un tipo de salida en el parámetro pOutputTypes . De lo contrario, es posible que se omita el MFT en la enumeración .

En Windows de 64 bits, la versión de 32 bits de esta función registra el MFT en el nodo de 32 bits del registro. Para obtener más información, vea Datos de aplicación de 32 y 64 bits en el Registro.

Requisitos

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

Consulte también

MFTEnumEx

Funciones de Media Foundation

Transformaciones de Media Foundation

_MFT_ENUM_FLAG