Интерфейс IKsReferenceClock (ks.h)

Интерфейс IKsReferenceClock — это интерфейс в стиле COM, предоставляемый AVStream на всех контактах. Закрепление передает запрос на часы master.

Наследование

Интерфейс 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 запрашивает связанные ссылочные часы для текущего времени.

Комментарии

Мини-диск может получить интерфейс IKsReferenceClock , вызвав KsPinGetReferenceClockInterface. Так как это интерфейс в стиле 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
Header ks.h

См. также раздел

KsPinGetConnectedFilterInterface

KsPinGetConnectedPinInterface

KsPinGetReferenceClockInterface