DVD_OPTION_FLAG 枚举 (strmif.h)

[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayerIMFMediaEngine音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

DVD_OPTION_FLAG枚举定义控制 DVD 导航器筛选器行为的标志。 若要设置这些标志中的任何一个,请调用 IDvdControl2::SetOption

语法

typedef enum __MIDL___MIDL_itf_strmif_0000_0132_0003 {
  DVD_ResetOnStop = 1,
  DVD_NotifyParentalLevelChange = 2,
  DVD_HMSF_TimeCodeEvents = 3,
  DVD_AudioDuringFFwdRew = 4,
  DVD_EnableNonblockingAPIs = 5,
  DVD_CacheSizeInMB = 6,
  DVD_EnablePortableBookmarks = 7,
  DVD_EnableExtendedCopyProtectErrors = 8,
  DVD_NotifyPositionChange = 9,
  DVD_IncreaseOutputControl = 10,
  DVD_EnableStreaming = 11,
  DVD_EnableESOutput = 12,
  DVD_EnableTitleLength = 13,
  DVD_DisableStillThrottle = 14,
  DVD_EnableLoggingEvents = 15,
  DVD_MaxReadBurstInKB = 16,
  DVD_ReadBurstPeriodInMS = 17,
  DVD_RestartDisc = 18,
  DVD_EnableCC = 19
} DVD_OPTION_FLAG;

常量

 
DVD_ResetOnStop
值:1
指定当图形停止时,DVD 导航器是否返回到光盘的开头。















说明
TRUE当筛选器图停止时,DVD 导航器进入 DVD 停止域。 当播放恢复时,它从光盘的开头开始。
FALSE筛选器图停止时,DVD 导航器不会进入 DVD 停止域。 当筛选器图再次启动时,播放将从停止的位置恢复。

 



默认值为 TRUE。

默认行为并不总是可取的,因为筛选器图可能会意外停止。 例如,如果屏幕分辨率更改、屏幕保护程序启动或计算机进入挂起模式,则可能会发生这种情况。 在这些情况下,用户可能希望从同一点重启播放。 通常,在调用 IMediaControl::Run 之前,应用程序应立即将此标志设置为 FALSE。 在调用 IMediaControl::Stop 以响应显式用户停止播放命令之前,它应将标志设置为 TRUE
DVD_NotifyParentalLevelChange
值: 2
指定 DVD 导航器是否在光盘上的家长级别更改时通知应用程序。















说明
TRUE如果 DVD 导航器达到临时家长管理级别命令,它会向应用程序发送 EC_DVD_PARENTAL_LEVEL_CHANGE 事件。 它会阻止播放,直到应用程序通过调用 IDvdControl2::AcceptParentalLevelChange 做出响应。
FALSE当 DVD 导航器遇到临时家长管理级别命令并且当前家长级别太低时,导航器会自动拒绝该命令并分支到光盘指定的任何路径。 导航器发送指示所需级别的 EC_DVD_PARENTAL_LEVEL_CHANGE 事件。 应用程序可以停止播放、设置密码对话框,并重启播放,以便在下一次尝试时成功。

 



默认值 FALSE
DVD_HMSF_TimeCodeEvents
值: 3
指定时间码信息的格式。









DVD_HMSF_TIMECODE 结构。



DVD_TIMECODE 结构。

说明
TRUE
FALSE

 



为了向后兼容,默认值为 DVD_HMSF_TIMECODE 格式更易于使用。
DVD_AudioDuringFFwdRew
值: 4
指定时间码信息的格式。















说明
TRUE只要音频速率不超过音频解码器的最大速率,DVD 导航器就可以在快进和倒带期间启用音频。
FALSE导航器在快进和倒退期间禁用音频。

 



默认值为 FALSE

还可以通过在 Windows 注册表中创建以下键,在快进和倒退期间启用音频:

DWORD HKLM\Software\Microsoft\DVDNavigator\AudioDuringFFwdRev = 1

这与将DVD_AudioDuringFFwdRew标志设置为 TRUE 的效果相同。
DVD_EnableNonblockingAPIs
值: 5
注意 需要 Windows XP Service Pack 2 或更高版本。

 



如果此标志为 FALSE,则某些 DVD 导航器函数会阻止,直到 DVD 导航器可以完成操作。 这是默认行为。

如果此标志为 TRUE,则不再阻止这些函数。 相反,如果 DVD 导航器无法立即完成操作,则函数将返回 VFW_E_DVD_NONBLOCKING。 如果应用程序将此标志设置为 TRUE,则必须处理 VFW_E_DVD_NONBLOCKING 错误代码。 通常,正确行为是轮询函数,直到函数成功或返回其他错误代码。

此标志至少影响以下方法: IDvdControl2::ActivateAtPositionIDvdControl2::SelectAtPositionIDvdInfo2::GetCurrentLocationIDvdInfo2::GetState。 将来可能会扩展此列表。
DVD_CacheSizeInMB
值: 6
注意 需要 Windows Vista 或更高版本。

 



指定 DVD 导航器提前读取的数据量(以 MB 为单位)。 对于此标志,SetOptionbEnable 参数被解释为 DWORD 值,而不是布尔值。

如果应用程序将此标志设置为 () > 50 MB 的大值,则 DVD 驱动器可能会在初始预提取后减速,具体取决于硬件。

还可以通过创建以下注册表项来设置缓存大小: HKLM\Software\Microsoft\DVDNavigator\CacheSizeInMB。 此注册表项仅用于诊断目的。 应用程序应使用 DVD_CacheSizeInMB 标志,而不是注册表项。
DVD_EnablePortableBookmarks
值: 7
注意 需要 Windows Vista 或更高版本。

 

















说明
TRUEDVD 书签可以在另一台计算机上使用。 请参阅 保存和还原 dvdState 对象
FALSEDVD 书签仅在创建它们的计算机上可用。

 



默认值为 FALSE
DVD_EnableExtendedCopyProtectErrors
值: 8
注意 需要 Windows Vista 或更高版本。

 



如果此标志 为 TRUE,则 DVD 导航器支持一组与复制保护失败相关的扩展错误。 这些错误通过 EC_DVD_ERROR 事件传达,包括以下内容:


  • DVD_PB_STOPPED_CopyProtectOutputNotSupported

  • DVD_PB_STOPPED_CopyProtectOutputFailure


(请参阅 DVD_PB_STOPPED.)

如果此标志为 FALSE,则使用常规 DVD_PB_STOPPED_CopyProtectFailure 错误代码报告所有复制保护错误。

为了向后兼容,默认值为 FALSE
DVD_NotifyPositionChange
值: 9
注意 需要 Windows 7 或更高版本。

 



如果此标志为 TRUE,则启用以下事件:


此标志的默认值为 FALSE
DVD_IncreaseOutputControl
值: 10
注意 需要 Windows 7 或更高版本。

 



以下标志的按位 OR















标志说明
0x01在不回退的情况下 (HDCP) 强制实施 High-Bandwidth 数字内容保护。
0x02即使对于没有内容乱码系统 (CSS) 保护的 DVD 光盘,也强制实施 HDCP。

 



默认值为零。 这些标志仅用于目的。 建议的值为零。
DVD_EnableStreaming
值: 11
注意 需要 Windows 7 或更高版本。

 



启用或禁用 流模式。 在流模式中,会跳过光盘上的坏块。 DVD 导航器接收部分更正的数据。 此模式通常在播放划痕或损坏的磁盘时产生更好的结果,因为它会导致短暂的视频损坏,而不是长时间等待阻止播放。 DVD 驱动器必须支持流式处理 I/O。

默认值为 TRUE。
DVD_EnableESOutput
值: 12
注意 需要 Windows 7 或更高版本。

 



使 DVD 导航器 能够输出基本流。 有关详细信息,请参阅 DVD 导航器筛选器主题中列出的媒体类型。

默认值为 FALSE
DVD_EnableTitleLength
值: 13



注意 需要 Windows 7 或更高版本。

 











DVD_TitleAttributes 结构。





说明
TRUE
FALSEGetTitleAttributes 方法返回游戏模式 (卡拉OK模式或其他模式) ,而不是标题长度。

 



默认值为 FALSE
DVD_DisableStillThrottle
值: 14
如果此标志为 TRUE,则会禁用对导航器在显示静止时发出的调用 Sleep(1)

为了向后兼容,此标志的默认值为 FALSE,但建议的值为 TRUE


注意 需要 Windows 7 或更高版本。

 
DVD_EnableLoggingEvents
值: 15
注意 需要 Windows 7 或更高版本。

 



如果此标志为 TRUE,则启用以下事件:


此标志的默认值为 FALSE
DVD_MaxReadBurstInKB
值: 16
注意 需要 Windows 7 或更高版本。

 



DVD 导航器在单个突发中读取的最大数据量(以千字节为单位)。 对于此标志,SetOptionbEnable 参数被解释为 DWORD 值。

默认值为 128 KB。
DVD_ReadBurstPeriodInMS
值: 17
注意 需要 Windows 7 或更高版本。

 



对缓存执行突发读取的频率(以毫秒为单位)。 对于此标志,SetOptionbEnable 参数被解释为 DWORD 值。

默认值为 250 毫秒。
DVD_RestartDisc
值: 18
DVD_EnableCC
值: 19

注解

下表列出了布尔标志的默认值。

标志 默认值
DVD_AudioDuringFFwdRew FALSE
DVD_DisableStillThrottle FALSE
DVD_EnableESOutput FALSE
DVD_EnableExtendedCopyProtectErrors FALSE
DVD_EnableLoggingEvents FALSE
DVD_EnableNonblockingAPIs FALSE
DVD_EnableStreaming TRUE
DVD_EnablePortableBookmarks FALSE
DVD_EnableTitleLength FALSE
DVD_HMSF_TimeCodeEvents FALSE
DVD_NotifyParentalLevelChange FALSE
DVD_NotifyPositionChange FALSE
DVD_ResetOnStop TRUE

要求

要求
Header strmif.h (包括 Dshow.h)

另请参阅

DirectShow 枚举类型

IDvdControl2::SetOption