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

另请参阅

KsPinGetConnectedFilterInterface

KsPinGetConnectedPinInterface

KsPinGetReferenceClockInterface