Compartilhar via


Função MFCreateTransformActivate (mftransform.h)

Cria um objeto de ativação genérico para MFTs (transformações do Media Foundation).

Sintaxe

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

Parâmetros

[out] ppActivate

Recebe um ponteiro para a interface IMFActivate . O chamador deve liberar a interface .

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

A maioria dos aplicativos não usará essa função; ele é usado internamente pela função MFTEnumEx .

Um objeto de ativação é um objeto auxiliar que cria outro objeto, um pouco semelhante a uma fábrica de classes. A função MFCreateTransformActivate cria um objeto de ativação para MFTs. Antes que esse objeto de ativação possa criar um MFT, o chamador deve inicializar o objeto de ativação definindo um ou mais atributos nele.

Atributo Descrição
MFT_TRANSFORM_CLSID_Attribute Obrigatórios. Contém o CLSID do MFT. O objeto de ativação cria o MFT passando esse CLSID para a função CoCreateInstance .
MF_TRANSFORM_CATEGORY_Attribute Opcional. Especifica a categoria do MFT.
MF_TRANSFORM_FLAGS_Attribute Contém vários sinalizadores que descrevem o MFT. Para MFTs baseados em hardware, defina o sinalizador MFT_ENUM_FLAG_HARDWARE . Caso contrário, esse atributo é opcional.
MFT_CODEC_MERIT_Attribute Opcional. Contém o valor de mérito de um codec de hardware.

Se esse atributo for definido e seu valor for maior que zero, o objeto de ativação chamará MFGetMFTMerit para obter o valor de mérito confiável para o MFT. Se o mérito confiável for menor que o valor desse atributo, o método IMFActivate::ActivateObject do objeto de ativação falhará e retornará MF_E_INVALID_CODEC_MERIT.

MFT_ENUM_HARDWARE_URL_Attribute Necessário para MFTs baseados em hardware. Especifica o link simbólico para o dispositivo de hardware. O proxy do dispositivo usa esse valor para configurar o MFT.
MFT_FIELDOFUSE_UNLOCK_Attribute Opcional. Contém um ponteiro IMFFieldOfUseMFTUnlock , que pode ser usado para desbloquear o MFT. A interface IMFFieldOfUseMFTUnlock é usada com MFTs que têm restrições de uso.

Se esse atributo for definido e o atributo MF_TRANSFORM_FLAGS_Attribute contiver o sinalizador MFT_ENUM_FLAG_FIELDOFUSE , o objeto de ativação chamará IMFFieldOfUseMFTUnlock::Unlock ao criar o MFT. Um aplicativo também pode definir o atributo MFT_FIELDOFUSE_UNLOCK_Attribute sem definir o sinalizador de MFT_ENUM_FLAG_FIELDOFUSE . Nesse caso, o aplicativo deve chamar Unlock.

MFT_PREFERRED_ENCODER_PROFILE Opcional. Contém o perfil de codificação de um codificador. O valor desse atributo é um ponteiro IMFAttributes .

Se esse atributo for definido e o valor do atributo MF_TRANSFORM_CATEGORY_Attribute for MFT_CATEGORY_AUDIO_ENCODER ou MFT_CATEGORY_VIDEO_ENCODER, o objeto de ativação usará o perfil de codificação para configurar o MFT. O MFT deve expor ICodecAPI ou IPropertyStore para essa finalidade.

MFT_PREFERRED_OUTPUTTYPE_Attribute Opcional. Especifica o formato de saída preferencial para um codificador.

Se esse conjunto de atributos e o valor do atributo MF_TRANSFORM_CATEGORY_Attribute for MFT_CATEGORY_AUDIO_ENCODER ou MFT_CATEGORY_VIDEO_ENCODER, o objeto de ativação definirá esse tipo de mídia no MFT.

 

Para obter mais informações sobre objetos de ativação, consulte Objetos de ativação.

Requisitos

   
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 mftransform.h
Biblioteca Mfplat.lib
DLL Mfplat.dll

Confira também

Objetos de ativação

Funções do Media Foundation

Transformações do Media Foundation