Интерфейс 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 |