Поделиться через


Функция MFCreateTransformActivate (mftransform.h)

Создает универсальный объект активации для преобразований Media Foundation (MFT).

Синтаксис

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

Параметры

[out] ppActivate

Получает указатель на интерфейс IMFActivate . Вызывающий объект должен освободить интерфейс .

Возвращаемое значение

Если эта функция завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Большинство приложений не будут использовать эту функцию; он используется внутри функции MFTEnumEx .

Объект активации — это вспомогательный объект, который создает другой объект, несколько похожий на фабрику классов. Функция MFCreateTransformActivate создает объект активации для MFT. Прежде чем этот объект активации сможет создать MFT, вызывающий объект должен инициализировать объект активации, задав для него один или несколько атрибутов.

attribute Описание
MFT_TRANSFORM_CLSID_Attribute Обязательный. Содержит CLSID MFT. Объект активации создает MFT, передав этот ИДЕНТИФИКАТОР CLSID в функцию CoCreateInstance .
MF_TRANSFORM_CATEGORY_Attribute Необязательный элемент. Указывает категорию MFT.
MF_TRANSFORM_FLAGS_Attribute Содержит различные флаги, описывающие MFT. Для аппаратных MFT установите флаг MFT_ENUM_FLAG_HARDWARE . В противном случае этот атрибут является необязательным.
MFT_CODEC_MERIT_Attribute Необязательный элемент. Содержит значение заслуг аппаратного кодека.

Если этот атрибут задан и его значение больше нуля, объект активации вызывает MFGetMFTMerit , чтобы получить значение доверия для MFT. Если значение доверия меньше значения этого атрибута, метод IMFActivate::ActivateObject объекта активации завершается сбоем и возвращает MF_E_INVALID_CODEC_MERIT.

MFT_ENUM_HARDWARE_URL_Attribute Требуется для аппаратных MFT. Указывает символьную ссылку для аппаратного устройства. Прокси-сервер устройства использует это значение для настройки MFT.
MFT_FIELDOFUSE_UNLOCK_Attribute Необязательный элемент. Содержит указатель IMFFieldOfUseMFTUnlock , который можно использовать для разблокировки MFT. Интерфейс IMFFieldOfUseMFTUnlock используется с MFT с ограничениями на использование.

Если этот атрибут задан и атрибут MF_TRANSFORM_FLAGS_Attribute содержит флаг MFT_ENUM_FLAG_FIELDOFUSE , объект активации вызывает IMFFieldOfUseMFTUnlock::Unlock при создании MFT. Приложение также может задать атрибут MFT_FIELDOFUSE_UNLOCK_Attribute , не устанавливая флаг MFT_ENUM_FLAG_FIELDOFUSE . В этом случае приложение должно вызвать Unlock.

MFT_PREFERRED_ENCODER_PROFILE Необязательный элемент. Содержит профиль кодирования для кодировщика. Значением этого атрибута является указатель IMFAttributes .

Если этот атрибут задан и значение атрибута MF_TRANSFORM_CATEGORY_Attributeравно MFT_CATEGORY_AUDIO_ENCODER или MFT_CATEGORY_VIDEO_ENCODER, объект активации использует профиль кодирования для настройки MFT. Для этой цели MFT должен предоставлять ICodecAPI или IPropertyStore .

MFT_PREFERRED_OUTPUTTYPE_Attribute Необязательный элемент. Задает предпочтительный формат вывода для кодировщика.

Если этот атрибут задан и значение атрибута MF_TRANSFORM_CATEGORY_AttributeMFT_CATEGORY_AUDIO_ENCODER или MFT_CATEGORY_VIDEO_ENCODER, объект активации задает этот тип носителя в MFT.

 

Дополнительные сведения об объектах активации см. в разделе Объекты активации.

Требования

   
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Целевая платформа Windows
Header mftransform.h
Библиотека Mfplat.lib
DLL Mfplat.dll

См. также раздел

Объекты активации

Функции Media Foundation

Преобразования Media Foundation