Reconocimiento de la primera solicitud de optimización
Algunos tuerdores requieren un giro alrededor de una frecuencia para obtener información válida de intensidad de señal/PLL, por lo que es posible que un minidriver tenga que reconocer cuándo KsTvTune.ax está realizando una solicitud de optimización inicial.
Cada solicitud de optimización es realmente un par de solicitudes al minidriver. El minidriver recibe primero una solicitud de KSPROPERTY_TUNER_FREQUENCY establecida seguida de una o varias solicitudes get KSPROPERTY_TUNER_STATUS .
En la primera solicitud de optimización, hay un retraso entre la solicitud establecida y la primera solicitud get. El minidriver establece la longitud de retraso en milisegundos en el miembro SettlingTime de la estructura KSPROPERTY_TUNER_MODE_CAPS_S . La solicitud get se repite cada cinco milisegundos mientras que el miembro Busy de la estructura KSPROPERTY_TUNER_STATUS_S es distinto de cero, hasta cinco intentos.
KsTvTune.ax no considera que se complete una solicitud de optimización hasta que reciba un estado no solicitado del dispositivo, o si el dispositivo sigue ocupado 20 milisegundos después del intervalo especificado por el miembro SettlingTime de la estructura de KSPROPERTY_TUNER_MODE_CAPS_S , lo que ocurra primero.
A partir de entonces, para cada solicitud de optimización durante el modo de ajuste preciso, habrá un intervalo de cinco milisegundos entre la solicitud establecida y la primera solicitud get.
Si desea KsTvTune.ax reintentar al menos una vez después de una solicitud inicial, devuelva siempre un valor PLLOffset de 1 en la primera solicitud de optimización. KsTvTune.ax intenta inmediatamente el siguiente paso más alto, tal y como especifica el miembro TuningGranularity de la estructura KSPROPERTY_TUNER_MODE_CAPS_S . En ese momento, podría devolver un valor PLLOffset mayor que 1 o menor que -1 si el minidriver determina que no hay ninguna señal, o un valor PLLOffset de -1 o 0 si el minidriver determina que la señal es buena.