Функция MFTRegister (mfapi.h)
Добавляет сведения о преобразовании Media Foundation (MFT) в реестр.
Приложения могут перечислить MFT путем вызова функции MFTEnum или MFTEnumEx .
Синтаксис
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
);
Параметры
[in] clsidMFT
ИДЕНТИФИКАТОР CLSID MFT. MFT также должен быть зарегистрирован как COM-объект с использованием того же идентификатора CLSID.
[in] guidCategory
GUID, указывающий категорию MFT. Список категорий MFT см. в разделе MFT_CATEGORY.
[in] pszName
Строка расширенных символов, содержащая понятное имя MFT.
[in] Flags
Побитовое ЗНАЧЕНИЕ ИЛИ равно нулю или более из следующих флагов из перечисления _MFT_ENUM_FLAG :
Значение | Значение |
---|---|
|
MFT выполняет асинхронную обработку в программном обеспечении. См . асинхронные MFT. Этот флаг не применяется к аппаратным преобразованиям.
Требуется Windows 7. |
|
Чтобы использовать его, приложение должно разблокировать MFT. См . раздел IMFFieldOfUseMFTUnlock.
Требуется Windows 7. |
|
MFT выполняет аппаратную обработку данных с помощью драйвера AVStream или прокси-сервера MFT на основе GPU. MFT в этой категории всегда обрабатывают данные асинхронно. См. раздел Аппаратные MFT.
Примечание Этот флаг применяется к видеокодекам и видеопроцессоров, которые выполняют свою работу полностью на оборудовании. Он не применяется к декодедерам программного обеспечения, которые используют ускорение видео DirectX для поддержки декодирования.
|
|
MFT выполняет синхронную обработку в программном обеспечении. Этот флаг не применяется к аппаратным преобразованиям. |
|
MFT оптимизирован для перекодирования и не должен использоваться для воспроизведения.
Требуется Windows 7. |
Установка нулевого значения флага эквивалентна установке флага MFT_ENUM_FLAG_SYNCMFT . По умолчанию для MFT используется синхронная обработка.
До Windows 7 параметр Flags был зарезервирован.
[in] cInputTypes
Количество элементов в массиве pInputTypes .
[in] pInputTypes
Указатель на массив MFT_REGISTER_TYPE_INFO структур. Каждый элемент массива задает формат входных данных, поддерживаемый MFT. Этот параметр может принимать значение NULL.
Этот параметр может принимать значение NULL. Однако если параметр имеет значение NULL, MFT будет перечисляться только в том случае, если приложение задает значение NULL для требуемого типа входных данных.
[in] cOutputTypes
Количество элементов в массиве pOutputTypes .
[in] pOutputTypes
Указатель на массив MFT_REGISTER_TYPE_INFO структур. Каждый элемент массива определяет формат вывода, поддерживаемый MFT.
Этот параметр может принимать значение NULL. Однако если параметр имеет значение NULL, MFT будет перечисляться только в том случае, если приложение задает значение NULL для требуемого типа вывода.
[in] pAttributes
Указатель на интерфейс IMFAttributes хранилища атрибутов, содержащего дополнительные сведения о реестре. Этот параметр может принимать значение NULL. Если параметр не равен NULL, атрибуты записываются в реестр в виде массива байтов. Для получения атрибутов можно использовать функцию MFTGetInfo .
Для этого параметра определен следующий атрибут:
Значение | Значение |
---|---|
Содержит значение заслуг аппаратного кодека. См. раздел Заслуги кодека. |
Возвращаемое значение
Если эта функция выполняется успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Записи реестра, созданные этой функцией, считываются следующими функциями:
Функция | Описание |
---|---|
MFTEnum | Перечисляет MFT по типу и категории носителя. |
MFTEnumEx | Расширенная версия MFTEnum. |
MFTGetInfo | Ищет MFT по CLSID и получает сведения о реестре. |
Эта функция не регистрирует CLSID MFT для функций CoCreateInstance или CoGetClassObject .
Чтобы удалить записи из реестра, вызовите MFTUnregister. При удалении MFT из системы следует всегда вызывать MFTUnregister.
Форматы, заданные в параметрах pInputTypes и pOutputTypes , предназначены для помощи приложениям в поиске MFT по формату. Приложения могут использовать функции MFTEnum или MFTEnumEx для перечисления MFT, соответствующих определенному набору форматов.
Рекомендуется указать по крайней мере один тип входных данных в pInputTypes и один тип вывода в параметре pOutputTypes . В противном случае MFT может быть пропущен в перечислении.
В 64-разрядной версии Windows 32-разрядная версия этой функции регистрирует MFT в 32-разрядном узле реестра. Дополнительные сведения см. в разделе 32-разрядные и 64-разрядные данные приложений в реестре.
Требования
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | mfapi.h |
Библиотека | Mfplat.lib |
DLL | Mfplat.dll |