Интерфейс 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 предоставляет набор встроенных источников мультимедиа и декодеров. Приложения могут перечислить их следующим образом:
- Источники мультимедиа перечисляются с помощью сопоставителя источников.
- Преобразования, такие как декодеры, перечисляются с помощью функций MFTEnum и 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}"
Список заблокированных содержит список идентификаторов CLSID. Чтобы перечислить весь список, вызовите метод IMFPluginControl::GetDisabledByIndex в цикле. Чтобы проверка, отображается ли определенный идентификатор CLSID в списке, вызовите метод IMFPluginControl::IsDisabled.
Требования
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | mfobjects.h (включая Mfidl.h) |