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


Функция MFTRegisterLocal (mfapi.h)

Регистрирует преобразование Media Foundation (MFT) в процессе вызывающей стороны.

Синтаксис

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
);

Параметры

[in] pClassFactory

Указатель на интерфейс IClassFactory объекта фабрики класса. Фабрика классов создает MFT.

[in] guidCategory

GUID, указывающий категорию MFT. Список категорий MFT см. в разделе MFT_CATEGORY.

[in] pszName

Строка с расширенными символами, заканчивающаяся нулевым значением, которая содержит понятное имя MFT.

[in] Flags

Побитовое ИЛИ , равное нулю или нескольким флагам из перечисления _MFT_ENUM_FLAG .

[in] cInputTypes

Количество элементов в массиве pInputTypes .

[in] pInputTypes

Указатель на массив MFT_REGISTER_TYPE_INFO структур. Каждый элемент массива задает формат входных данных, поддерживаемый MFT. Этот параметр может иметь значение NULL , если cInputTypes равно нулю.

[in] cOutputTypes

Количество элементов в массиве pOutputTypes .

[in] pOutputTypes

Указатель на массив MFT_REGISTER_TYPE_INFO структур. Каждый элемент массива определяет формат вывода, поддерживаемый MFT. Этот параметр может иметь значение NULL , если cOutputTypes равно нулю.

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

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

Комментарии

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

После вызова этой функции можно перечислить MFT, вызвав функцию MFTEnumEx с флагом MFT_ENUM_FLAG_LOCALMFT . MFT можно перечислить из того же процесса, но он не виден другим процессам.

Параметр pClassFactory указывает объект фабрики класса, который создает MFT. Метод IClassFactory::CreateInstance фабрики классов должен возвращать объект, поддерживающий интерфейс IMFTransform .

Примечание Функция MFTEnumEx извлекает список указателей IMFActivate . Однако фабрике классов не нужно поддерживать интерфейс IMFActivate . Вместо этого функция MFTEnumEx предоставляет реализацию IMFActivate , которая создает оболочку для фабрики классов.
 
Чтобы отменить регистрацию MFT в текущем процессе, вызовите MFTUnregisterLocal.

Если необходимо зарегистрировать MFT в процессе пути защищенного носителя (PMP), используйте интерфейс IMFLocalMFTRegistration .

Требования

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

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

MFTRegisterLocalByCLSID

Функции Media Foundation