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


Определение допустимых операций 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-приложения