Função MFTRegister (mfapi.h)
Adiciona informações sobre uma MFT (transformação do Media Foundation) ao registro.
Os aplicativos podem enumerar o MFT chamando a função MFTEnum ou MFTEnumEx .
Sintaxe
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
O CLSID do MFT. O MFT também deve ser registrado como um objeto COM usando o mesmo CLSID.
[in] guidCategory
GUID que especifica a categoria do MFT. Para obter uma lista de categorias de MFT, consulte MFT_CATEGORY.
[in] pszName
Cadeia de caracteres largos que contém o nome amigável do MFT.
[in] Flags
OR bit a bit de zero ou mais dos seguintes sinalizadores da enumeração _MFT_ENUM_FLAG:
Valor | Significado |
---|---|
|
O MFT executa o processamento assíncrono no software. Consulte MFTs assíncronos. Esse sinalizador não se aplica a transformações de hardware.
Requer o Windows 7. |
|
O aplicativo deve desbloquear o MFT para usá-lo. Consulte IMFFieldOfUseMFTUnlock.
Requer o Windows 7. |
|
O MFT executa o processamento de dados baseado em hardware, usando o driver AVStream ou um MFT proxy baseado em GPU. Os MFTs nessa categoria sempre processam dados de forma assíncrona. Consulte MFTs de hardware.
Nota Esse sinalizador se aplica a codecs de vídeo e processadores de vídeo que executam seu trabalho inteiramente em hardware. Ele não se aplica a decodificadores de software que usam Aceleração de Vídeo DirectX para auxiliar na decodificação.
|
|
O MFT executa o processamento síncrono no software. Esse sinalizador não se aplica a transformações de hardware. |
|
O MFT é otimizado para transcodificação e não deve ser usado para reprodução.
Requer o Windows 7. |
Definir Sinalizadores como zero é equivalente a definir o sinalizador MFT_ENUM_FLAG_SYNCMFT . O modelo de processamento padrão para MFTs é o processamento síncrono.
Antes do Windows 7, o parâmetro Flags era reservado.
[in] cInputTypes
Número de elementos na matriz pInputTypes .
[in] pInputTypes
Ponteiro para uma matriz de estruturas MFT_REGISTER_TYPE_INFO . Cada membro da matriz especifica um formato de entrada ao qual o MFT dá suporte. Este parâmetro pode ser NULL.
Este parâmetro pode ser NULL. No entanto, se o parâmetro for NULL, o MFT será enumerado somente quando um aplicativo especificar NULL para o tipo de entrada desejado.
[in] cOutputTypes
Número de elementos na matriz pOutputTypes .
[in] pOutputTypes
Ponteiro para uma matriz de estruturas MFT_REGISTER_TYPE_INFO . Cada membro da matriz define um formato de saída ao qual o MFT dá suporte.
Este parâmetro pode ser NULL. No entanto, se o parâmetro for NULL, o MFT será enumerado somente quando um aplicativo especificar NULL para o tipo de saída desejado.
[in] pAttributes
Ponteiro para a interface IMFAttributes de um repositório de atributos que contém informações adicionais do Registro. Este parâmetro pode ser NULL. Se o parâmetro não for NULL, os atributos serão gravados no registro como uma matriz de bytes. Você pode usar a função MFTGetInfo para recuperar os atributos.
O seguinte atributo é definido para este parâmetro:
Valor | Significado |
---|---|
Contém o valor de mérito de um codec de hardware. Consulte Codec Merit. |
Valor retornado
Se essa função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Comentários
As entradas do Registro criadas por essa função são lidas pelas seguintes funções:
Função | Descrição |
---|---|
MFTEnum | Enumera MFTs por tipo de mídia e categoria. |
MFTEnumEx | Versão estendida do MFTEnum. |
MFTGetInfo | Pesquisa um MFT por CLSID e recupera as informações do Registro. |
Essa função não registra o CLSID do MFT para as funções CoCreateInstance ou CoGetClassObject .
Para remover as entradas do registro, chame MFTUnregister. Se você remover um MFT do sistema, sempre deverá chamar MFTUnregister.
Os formatos dados nos parâmetros pInputTypes e pOutputTypes destinam-se a ajudar os aplicativos a pesquisar MFTs por formato. Os aplicativos podem usar as funções MFTEnum ou MFTEnumEx para enumerar MFTs que correspondem a um determinado conjunto de formatos.
É recomendável especificar pelo menos um tipo de entrada em pInputTypes e um tipo de saída no parâmetro pOutputTypes . Caso contrário, o MFT pode ser ignorado na enumeração .
No Windows de 64 bits, a versão de 32 bits dessa função registra o MFT no nó de 32 bits do registro. Para obter mais informações, consulte Dados do aplicativo de 32 bits e 64 bits no Registro.
Requisitos
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | mfapi.h |
Biblioteca | Mfplat.lib |
DLL | Mfplat.dll |