IKsReferenceClock 接口 (ks.h)
IKsReferenceClock 接口是由 AVStream 在所有引脚上提供的 COM 样式接口。 引脚将请求传递到主时钟。
继承
IKsReferenceClock 接口继承自 IUnknown 接口。
方法
IKsReferenceClock 接口具有以下方法。
IKsReferenceClock::GetCorrelatedPhysicalTime IKsReferenceClock::GetCorrelatedPhysicalTime 方法查询当前物理时间的相关引用时钟,并检索相关的系统时间。 |
IKsReferenceClock::GetCorrelatedTime IKsReferenceClock::GetCorrelatedTime 方法查询当前流时间的相关参考时钟,并获取相关的系统时间。 |
IKsReferenceClock::GetPhysicalTime IKsReferenceClock::GetPhysicalTime 方法查询当前物理时间的相关引用时钟。 |
IKsReferenceClock::GetResolution IKsReferenceClock::GetResolution 方法查询关联的引用时钟的分辨率。 |
IKsReferenceClock::GetState IKsReferenceClock::GetState 方法查询其当前流式处理状态的关联引用时钟。 |
IKsReferenceClock::GetTime IKsReferenceClock::GetTime 方法查询当前时间的关联引用时钟。 |
注解
微型驱动程序可以通过调用 KsPinGetReferenceClockInterface 来获取 IKsReferenceClock 接口。 由于这是 COM 样式的接口, KsPinGetReferenceClockInterface 调用 QueryInterface,后者又调用 AddRef 来递增接口指针。 这意味着,当微型驱动程序使用 IKsReferenceClock 接口完成时,微型驱动程序必须通过调用 Release 来释放它。
用 C 编写的客户端会将 IKsReferenceClock 接口视为包含指向函数表而不是 C++ 抽象基类的指针的结构。 用 C++ 编写的客户端可能会执行以下操作:
PIKSREFERENCECLOCK RefClock;
if (NT_SUCCESS (
KsPinGetReferenceClockInterface (
Pin,
&RefClock)
) {
... RefClock -> GetCorrelatedTime (...);
RefClock -> Release ();
}
但是,用 C 编写的客户端将改为执行以下操作:
PIKSREFERENCECLOCK RefClock;
If (NT_SUCCESS (
KsPinGetReferenceClockInterface (
Pin,
&RefClock)
) {
... RefClock -> lpVtbl -> GetCorrelatedTime (...);
RefClock -> lpVtbl -> Release ();
}
有关详细信息,请参阅 AVStream 概述。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | ks.h |