Função MFTRegisterLocal (mfapi.h)

Registra uma MFT (transformação do Media Foundation) no processo do chamador.

Sintaxe

HRESULT MFTRegisterLocal(
  [in] IClassFactory                *pClassFactory,
  [in] REFGUID                      guidCategory,
  [in] LPCWSTR                      pszName,
  [in] UINT32                       Flags,
  [in] UINT32                       cInputTypes,
  [in] const MFT_REGISTER_TYPE_INFO *pInputTypes,
  [in] UINT32                       cOutputTypes,
  [in] const MFT_REGISTER_TYPE_INFO *pOutputTypes
);

Parâmetros

[in] pClassFactory

Um ponteiro para a interface IClassFactory de um objeto de fábrica de classe. A fábrica de classes cria o MFT.

[in] guidCategory

Um GUID que especifica a categoria do MFT. Para obter uma lista de categorias de MFT, consulte MFT_CATEGORY.

[in] pszName

Uma cadeia de caracteres largos terminada em nulo que contém o nome amigável do MFT.

[in] Flags

Um OR bit a bit de zero ou mais sinalizadores da enumeração _MFT_ENUM_FLAG .

[in] cInputTypes

O número de elementos na matriz pInputTypes .

[in] pInputTypes

Um ponteiro para uma matriz de estruturas de MFT_REGISTER_TYPE_INFO . Cada membro da matriz especifica um formato de entrada compatível com o MFT. Esse parâmetro poderá ser NULL se cInputTypes for zero.

[in] cOutputTypes

O número de elementos na matriz pOutputTypes .

[in] pOutputTypes

Um ponteiro para uma matriz de estruturas de MFT_REGISTER_TYPE_INFO . Cada membro da matriz define um formato de saída compatível com o MFT. Esse parâmetro poderá ser NULL se cOutputTypes for zero.

Retornar valor

Se essa função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

A principal finalidade dessa função é disponibilizar um MFT para resolução de topologia automática sem disponibilizar o MFT para outros processos ou aplicativos.

Depois de chamar essa função, o MFT pode ser enumerado chamando a função MFTEnumEx com o sinalizador MFT_ENUM_FLAG_LOCALMFT . O MFT pode ser enumerado de dentro do mesmo processo, mas não é visível para outros processos.

O parâmetro pClassFactory especifica um objeto de fábrica de classe que cria o MFT. O método IClassFactory::CreateInstance da fábrica de classes deve retornar um objeto que dê suporte à interface IMFTransform .

Nota A função MFTEnumEx recupera uma lista de ponteiros IMFActivate . No entanto, a fábrica de classes não precisa dar suporte à interface IMFActivate . Em vez disso, a função MFTEnumEx fornece uma implementação de IMFActivate que encapsula a fábrica de classes.
 
Para cancelar o registro do MFT do processo atual, chame MFTUnregisterLocal.

Se você precisar registrar um MFT no processo de PMP (Caminho de Mídia Protegida), use a interface IMFLocalMFTRegistration .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho mfapi.h
Biblioteca Mfplat.lib
DLL Mfplat.dll

Confira também

MFTRegisterLocalByCLSID

Funções do Media Foundation