CBaseReferenceClock.GetTime 方法

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

方法 GetTime 检索当前引用时间。 此方法实现 IReferenceClock::GetTime 方法。

语法

HRESULT GetTime(
   REFERENCE_TIME *pTime
);

参数

pTime

指向接收当前时间的变量的指针,单位为 100 纳秒。

返回值

返回下表中显示的 HRESULT 值之一。

返回代码 说明
E_POINTER
NULL 指针参数。
S_FALSE
返回的时间与上一个值相同。
S_OK
成功。

备注

此方法调用 CBaseReferenceClock::GetPrivateTime 方法来确定实时时钟时间。 如果时钟时间严格大于上一个值, GetTime 则使用时钟时间并返回S_OK。 否则, GetTime 使用上一个值并返回S_FALSE。 因此,内部时钟可以向后运行短时间,而不会导致参考时间向后运行。 相反,引用时间将“停止”在同一值,直到内部时钟赶上。

要求

要求
标头
Refclock.h (包括 Streams.h)

Strmbase.lib (零售版本) ;
Strmbasd.lib (调试生成)

另请参阅

CBaseReferenceClock 类