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 概述

要求

要求 价值
目标平台 窗户
标头 ks.h

另请参阅

KsPinGetConnectedFilterInterface

KsPinGetConnectedPinInterface

KsPinGetReferenceClockInterface