Определение допустимых операций с DVD-дисками

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

Можно ли выполнить определенную операцию с DVD-диском, зависит от нескольких факторов.

  • Текущий домен. Некоторые команды допустимы только в определенных доменах. При изменении домена навигатор отправляет событие EC_DVD_DOMAIN_CHANGE. Вы также можете вызвать IDvdInfo2::GetCurrentDomain , чтобы получить текущий домен.
  • Флаги UOPS. Это флаги, записанные на диск, которые указывают, какие операции разрешены. При изменении флагов навигатор отправляет событие EC_DVD_VALID_UOPS_CHANGE с новыми флагами. Вы также можете вызвать IDvdInfo2::GetCurrentUOPS , чтобы получить текущие флаги UOPS.
  • Содержимое DVD. Некоторые команды могут быть не релевантными в зависимости от содержимого DVD-диска. Например, метод IDvdControl2::SelectAngle может быть разрешен в соответствии с текущим доменом и флагами UOPS, но видео может иметь только один угол. В этом случае вызов SelectAngle разрешен, но не является значимым параметром.

Если вы сомневаетесь, разреши действие. В худшем случае метод IDvdControl2 завершится сбоем, и вы сможете оставить отзыв пользователю. Обратная связь должна быть относительно ненавязчивой. Например, вы можете мигать маленьким красным X, чтобы предупредить пользователя. DVD-навигатор возвращает VFW_E_DVD_INVALIDDOMAIN, когда домен запрещает операцию, и VFW_E_DVD_OPERATION_INHIBITED, когда флаги UOPS запрещают операцию.

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