Метод IDvdGraphBuilder::GetDvdInterface (strmif.h)

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

Метод GetDvdInterface извлекает интерфейсы из графа воспроизведения DVD-Video, чтобы упростить разработку DVD-Video воспроизведения.

Синтаксис

HRESULT GetDvdInterface(
  [in]  REFIID riid,
  [out] void   **ppvIF
);

Параметры

[in] riid

ИДЕНТИФИКАТОР запрошенного интерфейса.

[out] ppvIF

Получает указатель на интерфейс . Приложение должно освободить интерфейс .

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

Возвращает значение HRESULT . Ниже приведены возможные значения.

Код возврата Описание
E_INVALIDARG
Недопустимый параметр ppvIF . Этот параметр не должен иметь значение NULL.
E_NOINTERFACE
Не удалось вернуть запрошенный интерфейс.
VFW_E_DVD_GRAPHNOTREADY
Граф еще не построен. См. заметки.

Комментарии

Этот метод можно использовать для выбора и настройки фильтра отрисовщика видео перед построением графа фильтра для воспроизведения DVD-дисков. Доступны следующие интерфейсы:

Если вы вызываете Метод GetDvdInterface , чтобы получить любой из этих интерфейсов перед построением графа фильтра, КОНСТРУКТОР DVD-графов создает соответствующий отрисовщик видео. Он будет использовать этот отрисовщик позже при построении графа. После выбора отрисовщика видео вы больше не сможете получить интерфейсы для других отрисовщиков видео. (Метод GetDvdInterface вернет E_NOINTERFACE.)

Если перед построением графа воспроизведения DVD-дисков запрашиваются интерфейсы, которых нет в предыдущем списке, метод возвращает VFW_E_DVD_GRAPHNOTREADY. Чтобы создать граф DVD, вызовите IDvdGraphBuilder::RenderDvdVideoVolume. После построения графа можно использовать GetDvdInterface для получения некоторых дополнительных интерфейсов:

  • IDvdControl (не рекомендуется), IDvdControl2, IDvdInfo (не рекомендуется) и IDvdInfo2 для управления воспроизведением DVD-дисков.
  • IVideoWindow, IBasicVideo и IBasicVideo2 для управления параметрами видео только в оконном режиме.
  • IBasicAudio для управления параметрами звука.
  • IAMLine21Decoder для управления закрытым подпись дисплеем.
  • IMixerPinConfig и IMixerPinConfig2 для настройки первого входного контакта фильтра Overlay Mixer, который предоставляет основной видеопоток. (Чтобы получить этот интерфейс для других контактов в Overlay Mixer, перечислите контакты фильтра и запросите их напрямую.) Новые приложения не должны использовать фильтр Overlay Mixer.
Чтобы получить другие интерфейсы, вызовите IDvdGraphBuilder::GetFiltergraph. Запросите возвращенный интерфейс IGraphBuilder или используйте EnumFilters для перечисления фильтров.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header strmif.h (включая Dshow.h)
Библиотека Strmiids.lib

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

Dvd-приложения

Коды ошибок и успешности

Интерфейс IDvdGraphBuilder