IMFClock::GetCorrelatedTime 方法 (mfidl.h)
检索与系统时间相关的最后一个时钟时间。
语法
HRESULT GetCorrelatedTime(
[in] DWORD dwReserved,
[out] LONGLONG *pllClockTime,
[out] MFTIME *phnsSystemTime
);
参数
[in] dwReserved
保留,必须为 0。
[out] pllClockTime
接收最后一个已知时钟时间(以时钟频率的单位为单位)。
[out] phnsSystemTime
接收与 pllClockTime 中返回的时钟时间相对应的系统时间(以 100 纳秒为单位)。
返回值
该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
时钟没有时间源。 |
注解
在某个固定的时间间隔内,时钟将其内部时钟周期与系统时间相关联。 (系统时间是高分辨率性能计数器返回的时间。) 此方法返回:
- 与系统时间相关的最近时钟时间。
- 执行关联的系统时间。
系统时间在 phnsSystemTime 参数中返回,并且始终以 100 纳秒为单位表示。
若要了解时钟将其时钟时间与系统时间相关联的频率,请调用 GetProperties。 相关间隔在 MFCLOCK_PROPERTIES 结构的 qwCorrelationRate 成员中提供。 如果 qwCorrelationRate 为零,则表示时钟在调用 GetCorrelatedTime 时执行关联。 否则,可以通过从上次相关时间推断来计算当前时钟时间。
某些时钟通过 IMFRateControl 接口支持速率更改。 如果是这样,时钟时间以频率×当前速率前进。 如果时钟不公开 IMFRateControl 接口,则速率始终为 1.0。
对于演示时钟,时钟时间是表示时间,并且始终相对于 IMFPresentationClock::Start 中指定的开始时间。 还可以通过调用 IMFPresentationClock::GetTime 来获取演示时间。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2008 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | mfidl.h |
Library | Mfuuid.lib |