Interfaz IKsReferenceClock (ks.h)
La interfaz IKsReferenceClock es una interfaz de estilo COM proporcionada por AVStream en todos los pines. El pin pasa la solicitud al reloj maestro.
Herencia
La interfaz IKsReferenceClock hereda de la interfaz IUnknown .
Métodos
La interfaz IKsReferenceClock tiene estos métodos.
IKsReferenceClock::GetCorrelatedPhysicalTime El método IKsReferenceClock::GetCorrelatedPhysicalTime consulta el reloj de referencia asociado para la hora física actual y recupera la hora del sistema correlacionada. |
IKsReferenceClock::GetCorrelatedTime El método IKsReferenceClock::GetCorrelatedTime consulta el reloj de referencia asociado para la hora actual del flujo y adquiere la hora del sistema correlacionada. |
IKsReferenceClock::GetPhysicalTime El método IKsReferenceClock::GetPhysicalTime consulta el reloj de referencia asociado para la hora física actual. |
IKsReferenceClock::GetResolution El método IKsReferenceClock::GetResolution consulta el reloj de referencia asociado para su resolución. |
IKsReferenceClock::GetState El método IKsReferenceClock::GetState consulta el reloj de referencia asociado para su estado de streaming actual. |
IKsReferenceClock::GetTime El método IKsReferenceClock::GetTime consulta el reloj de referencia asociado para la hora actual. |
Comentarios
El minidriver puede adquirir una interfaz IKsReferenceClock llamando a KsPinGetReferenceClockInterface. Dado que se trata de una interfaz de estilo COM, KsPinGetReferenceClockInterface llama a QueryInterface, que a su vez invoca AddRef para incrementar el puntero de interfaz. Esto significa que cuando el minidriver finaliza con la interfaz IKsReferenceClock , el minidriver debe liberarlo llamando a Release.
Los clientes escritos en C verán la interfaz IKsReferenceClock como una estructura que contiene un puntero a una tabla de funciones en lugar de una clase base abstracta de C++. Un cliente escrito en C++ puede hacer lo siguiente:
PIKSREFERENCECLOCK RefClock;
if (NT_SUCCESS (
KsPinGetReferenceClockInterface (
Pin,
&RefClock)
) {
... RefClock -> GetCorrelatedTime (...);
RefClock -> Release ();
}
Sin embargo, un cliente escrito en C haría lo siguiente en su lugar:
PIKSREFERENCECLOCK RefClock;
If (NT_SUCCESS (
KsPinGetReferenceClockInterface (
Pin,
&RefClock)
) {
... RefClock -> lpVtbl -> GetCorrelatedTime (...);
RefClock -> lpVtbl -> Release ();
}
Para obtener más información, consulte Introducción a AVStream.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | ks.h |