IReferenceClockTimerControl 接口 (strmif.h)

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

接口 IReferenceClockTimerControl 更改引用时钟使用的计时器周期。 此接口由 DirectShow 系统参考时钟公开。

继承

IReferenceClockTimerControl 接口继承自 IUnknown 接口。 IReferenceClockTimerControl 也具有以下类型的成员:

方法

IReferenceClockTimerControl 接口具有这些方法。

 
IReferenceClockTimerControl::GetDefaultTimerResolution

GetDefaultTimerResolution 方法返回引用时钟请求的计时器分辨率。
IReferenceClockTimerControl::SetDefaultTimerResolution

SetDefaultTimerResolution 方法设置最小计时器分辨率。

注解

默认情况下,DirectShow 中的系统引用时钟将计时器周期设置为计时器允许的最小值。 通常,此值为 1 毫秒。

计时器时间段是 Windows 中的全局设置。 更高的分辨率可以提高等待函数中超时间隔的准确性。 但是,它也可能会降低整体系统性能,因为线程计划程序更频繁地切换任务。 高分辨率还可以阻止 CPU 电源管理系统进入节能模式。 设置更高的分辨率不会提高高分辨率性能计数器的准确性。

此接口main的目的是替代引用时钟的默认计时器设置。 为此,请调用值为零的 SetDefaultTimerResolution 。 这可能会导致计时器分辨率降低,这可能会使用户的计算机进入省电模式。 (实际行为取决于许多其他因素,例如正在运行的其他进程。) DVD 导航器 筛选器使用此接口,如此处所述。

如果 DirectShow 筛选器需要更高的计时器分辨率,则应调用 timeBeginPeriod。 通常,此要求仅适用于呈现器筛选器。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 strmif.h (包括 Dshow.h)