Relojes predeterminados
Los minidrivers de streaming de kernel pueden llamar a KsAllocateDefaultClockEx para asignar e inicializar una estructura de reloj predeterminada. Como alternativa, pueden llamar a KsAllocateDefaultClock, que es un contenedor para KsAllocateDefaultClockEx con parámetros predeterminados para los miembros nonclock. Llame a KsCreateDefaultClock después de usar KsAllocateDefaultClockEx para inicializar el reloj predeterminado.
El reloj predeterminado admite KSPROPSETID_Clock y se puede tener acceso al mismo tiempo que cualquier otro reloj presentado por un pin de filtro. Sin embargo, la estructura de datos subyacente se crea mediante el pin de filtro y se comparte mediante esa patilla y las instancias del reloj que se crean. El reloj se basa en la patilla para actualizar el estado actual y otros elementos de la estructura compartida. El reloj predeterminado controla las solicitudes de notificación y las consultas de reloj.
Cuando a un pin del filtro que proporciona este reloj se le asigna un reloj maestro, el pin posee este reloj. El pin debe hacer referencia al objeto de archivo de reloj, igual que si se le asignara alguna otra implementación del reloj. El reloj predeterminado no hace referencia al objeto de archivo del pin cuando se crea una instancia. En su lugar, mantiene un recuento de referencias interno basado en la asignación inicial de la estructura de reloj común y en cada objeto de archivo abierto en el reloj. Incluso si el propietario del reloj libera la estructura del reloj, permanece en su lugar hasta que se cierran todos los objetos de archivo. El pin puede acceder directamente al objeto de reloj predeterminado, en lugar de pasar por la interfaz de reloj estándar.
Los minidrivers pueden admitir la propiedad KSPROPERTY_CLOCK_FUNCTIONTABLE para proporcionar a los clientes en modo de usuario un mecanismo para comprobar la hora del reloj de referencia. Esta propiedad rellena una estructura con punteros de función que permiten esto, lo que admite la coincidencia precisa de velocidad.
Además, los minidrivers admiten la propiedad KSPROPERTY_STREAM_RATE si un pin especificado permite cambios de velocidad.
Aplicaciones que usan los métodos de llamada de la interfaz de proxy de streaming de kernel en la interfaz IKsClockPropertySet para obtener y establecer la hora en los relojes físicos que se pueden usar en otro lugar para la coincidencia de velocidad.
Consulte Quality Management para obtener información relacionada.