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 |