标识有效的 DVD 操作
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
有几个因素决定了你是否可以执行给定的 DVD 操作:
- 当前域。 某些命令仅在某些域中有效。 域更改时,导航器会发送EC_DVD_DOMAIN_CHANGE事件。 还可以调用 IDvdInfo2::GetCurrentDomain 来获取当前域。
- UOPS 标志。 这些是写入光盘的标志,指示允许哪些操作。 每当标志更改时,导航器将发送包含新标志的 EC_DVD_VALID_UOPS_CHANGE 事件。 还可以调用 IDvdInfo2::GetCurrentUOPS 来获取当前的 UOPS 标志。
- DVD 内容。 根据 DVD 的内容,某些命令可能不相关。 例如,根据当前域和 UOPS 标志可能允许 使用 IDvdControl2::SelectAngle 方法,但视频可能只有一个角度。 在这种情况下, 允许 SelectAngle 调用,但不是有意义的选项。
有疑问时,允许执行操作。 在最坏的情况下, IDvdControl2 方法将失败,你可以向用户提供反馈。 反馈应相对不引人注目。 例如,可能会闪烁红色小 X 以提醒用户。 当域禁止操作时,DVD 导航器返回VFW_E_DVD_INVALIDDOMAIN,当 UOPS 标志禁止操作时,VFW_E_DVD_OPERATION_INHIBITED。
相关主题