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 方法會查詢目前時間的相關參考時鐘。

備註

minidriver 可以藉由呼叫 KsPinGetReferenceClockInterface 來取得 IKsReferenceClock 介面。 因為這是 COM 樣式的介面, KsPinGetReferenceClockInterface 會呼叫 QueryInterface,接著會叫用 AddRef 以遞增介面指標。 這表示當 minidriver 完成 IKsReferenceClock 介面時,minidriver 必須藉由呼叫 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