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


Интерфейс IMFPluginControl (mfobjects.h)

Управляет перечислением источников мультимедиа и преобразований в Microsoft Media Foundation.

Чтобы получить указатель на этот интерфейс, вызовите MFGetPluginControl.

Наследование

Интерфейс IMFPluginControl наследуется от интерфейса IUnknown . IMFPluginControl также имеет следующие типы членов:

Методы

Интерфейс IMFPluginControl имеет следующие методы.

 
IMFPluginControl::GetDisabledByIndex

IMFPluginControl::GetDisabledByIndex (mfobjects.h) получает идентификатор класса (CLSID) из списка заблокированных.
IMFPluginControl::GetPreferredClsid

Ищет в списке предпочтительный идентификатор класса (CLSID), соответствующий указанному имени ключа.
IMFPluginControl::GetPreferredClsidByIndex

Метод IMFPluginControl::GetPreferredClsidByIndex (mfobjects.h) получает идентификатор класса (CLSID) из предпочтительного списка, заданного значением индекса.
IMFPluginControl::IsDisabled

Запрашивает, отображается ли идентификатор класса (CLSID) в списке заблокированных. (IMFPluginControl.IsDisabled)
IMFPluginControl::SetDisabled

Добавляет идентификатор класса (CLSID) в список заблокированных или удаляет CLSID из списка. (IMFPluginControl.SetDisabled)
IMFPluginControl::SetPreferredClsid

Добавляет идентификатор класса (CLSID) в предпочтительный список или удаляет CLSID из списка. (IMFPluginControl.SetPreferredClsid)

Комментарии

Media Foundation предоставляет набор встроенных источников мультимедиа и декодеров. Приложения могут перечислить их следующим образом:

Приложения также могут перечислять эти объекты косвенно. Например, если приложение использует загрузчик топологии для разрешения частичной топологии, загрузчик топологии вызывает MFTEnumEx для поиска необходимых декодеров.

Сторонние разработчики могут реализовать собственные пользовательские источники мультимедиа и декодеры и зарегистрировать их для перечисления, чтобы другие приложения могли использовать их.

Чтобы управлять порядком перечисления, Media Foundation поддерживает два списка CLSID на уровне процесса: предпочтительный и заблокированный. Объект, CLSID которого отображается в списке предпочтительных, отображается первым в порядке перечисления. Объект, CLSID которого отображается в списке заблокированных, не перечисляется.

Списки изначально заполняются из реестра. Приложения могут использовать интерфейс IMFPluginControl для изменения списков для текущего процесса.

Предпочтительный список содержит набор пар "ключ-значение", где ключи являются строками, а значения — идентификаторами CLSID. Эти пары "ключ-значение" определяются следующим образом:

  • Для источников мультимедиа имя ключа является расширением имени файла, схемой протокола или типом MIME. Значением является CLSID обработчика схемы или обработчика потока байтов для этого источника мультимедиа.
  • Для декодеров имя ключа — это GUID подтипа мультимедиа в канонической строковой форме. (Дополнительные сведения о подтипах мультимедиа см. в разделе Типы мультимедиа.) Значением является CLSID преобразования Media Foundation (MFT), реализующего декодер.
В следующих примерах показаны различные типы ключей:
  • Расширение файла: .wmv
  • Схема: "http:"
  • Тип MIME: "video/mp4"
  • Подтип мультимедиа: "{47504A4D-0000-0010-8000-00AA00389B71}"
Чтобы найти предпочтительный список по имени ключа, вызовите метод IMFPluginControl::GetPreferredClsid . Чтобы перечислить весь список, вызовите метод IMFPluginControl::GetPreferredClsidByIndex в цикле.

Список заблокированных содержит список идентификаторов CLSID. Чтобы перечислить весь список, вызовите метод IMFPluginControl::GetDisabledByIndex в цикле. Чтобы проверка, отображается ли определенный идентификатор CLSID в списке, вызовите метод IMFPluginControl::IsDisabled.

Требования

   
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Целевая платформа Windows
Header mfobjects.h (включая Mfidl.h)

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

MFGetPluginControl

Интерфейсы Media Foundation