Compartir a través de


KSEVENT_TUNER_INITIATE_SCAN

El evento KSEVENT_TUNER_INITIATE_SCAN solicita que el controlador inicie una operación de examen y notifique a un cliente en modo de usuario cuando el dispositivo de ajuste asociado del controlador complete la operación de examen.

Tabla de resumen de uso

Obtener Set Destino Tipo de descriptor de evento Tipo de valor de evento
No Anclar KSEVENT_TUNER_INITIATE_SCAN_S KSEVENTDATA

Observaciones

Cada solicitud de examen debe no bloquearse. Es decir, el controlador no debe esperar a que se complete la operación de examen antes de que devuelva el control. De hecho, el controlador debe usar un subproceso independiente para realizar la operación de examen.

Aunque el evento de KSEVENT_TUNER_INITIATE_SCAN es independiente de KSPROPERTY_TUNER_FREQUENCY, KSEVENT_TUNER_INITIATE_SCAN corresponde a la marca de optimización KS_TUNER_TUNING_EXACT en el miembro TuningFlags de la estructura KSPROPERTY_TUNER_FREQUENCY_S . Esto significa que el examen siempre intenta determinar la frecuencia exacta del siguiente canal. Además, la estrategia de ajuste que sigue el dispositivo de optimización se controla mediante el controlador (KS_TUNER_STRATEGY_DRIVER_TUNES del miembro Estrategia de la estructura KSPROPERTY_TUNER_MODE_CAPS_S ). Estas marcas fijas y estrategia siempre se siguen aunque se use una marca y una estrategia diferentes para controlar KSPROPERTY_TUNER_FREQUENCY.

Es decir, los valores de KSTUNER_TUNING_FLAGS y KSTUNER_STRATEGY no afectan al comportamiento de KSEVENT_TUNER_INITIATE_SCAN.

Finalización y estado

La propiedad scan status KSPROPERTY_TUNER_SCAN_STATUS proporciona información sobre la frecuencia actual y el estado del bloqueo de señal. La aplicación consulta el estado de bloqueo de la propiedad KSPROPERTY_TUNER_SCAN_STATUS. La aplicación también consulta KSPROPERTY_TUNER_STANDARD_MODE propiedad para obtener información sobre la detección automática de señales estándar. Si no se encontró ninguna señal en el intervalo solicitado, la propiedad KSPROPERTY_TUNER_SCAN_STATUS devuelve el valor Tuner_LockType_None en el miembro LockStatus de la estructura KSPROPERTY_TUNER_SCAN_STATUS_S . Si el dispositivo de optimización puede detectar automáticamente el estándar de tuner de la señal y se encontró una señal en un estándar alternativo, el propio dispositivo de optimización puede procesar las solicitudes a la propiedad KSPROPERTY_TUNER_STANDARD . Es posible que el dispositivo de optimización no pueda continuar más allá de un bloqueo de bucle de bloqueo por fases (PLL), y es posible que especifique que no se conoce el estándar. O bien, el dispositivo de ajuste podría ajustarse automáticamente a un estándar de señal diferente. Además, el dispositivo de optimización puede incluso obtener un bloqueo completo en ese estándar de señal y determinar el estándar alternativo. Estas situaciones pueden surgir cuando hay varios estándares de señal en el espectro de frecuencias.

Condiciones de límite

Si el controlador descubre que la frecuencia central de un canal está fuera del intervalo que proporciona una aplicación, el controlador debe omitir esa señal y pasar a la siguiente señal; el controlador no debe devolver la mejor aproximación posible dentro del intervalo proporcionado. El controlador debe pasar a la siguiente señal para evitar el recuento duplicado de canales cuando una aplicación intenta compilar una lista de canales.

Por el mismo motivo, la aplicación debe desplazar el intervalo de consulta por la mitad del ancho de banda del canal esperado (aproximadamente 6/2 = 3MHz para tv analógica y digital) para asegurarse de que los canales no se cuentan doblemente, especialmente cuando el hardware encuentra una señal que el hardware no puede descodificar. En esta situación, el conductor tiene dificultades para evitar el doble recuento de determinados canales.

Espectros de varios estándares

La operación de examen debe completarse cada vez que se encuentre un nuevo canal o señal. A continuación, el controlador devuelve el estado del examen a través de la propiedad KSPROPERTY_TUNER_SCAN_STATUS . El examen debe completarse cada vez que se encuentre un nuevo canal incluso si el controlador determina que el canal recién encontrado no coincide con el estándar aplicado anteriormente. La aplicación debe procesar la nueva información del canal y volver a enviar una solicitud de examen para encontrar otro canal con el mismo estándar de señal.

Consulte también

KSEVENT_TUNER_INITIATE_SCAN_S

KSEVENTDATA

KSPROPERTY_TUNER_SCAN_STATUS

KSPROPERTY_TUNER_SCAN_CAPS

KSPROPERTY_TUNER_STANDARD

KSPROPERTY_TUNER_STANDARD_MODE