Partilhar via


Reconhecendo a primeira solicitação de ajuste

Alguns sintonizadores exigem uma quantidade em torno de uma frequência para obter informações de PLL/força de sinal válidas, portanto, um minidriver pode precisar reconhecer quando KsTvTune.ax está fazendo uma solicitação de ajuste inicial.

Cada solicitação de ajuste é, na verdade, um par de solicitações para o minidriver. O minidriver recebe primeiro um conjunto KSPROPERTY_TUNER_FREQUENCY solicitação seguido por uma ou mais solicitações get KSPROPERTY_TUNER_STATUS .

Na primeira solicitação de ajuste, há um atraso entre a solicitação set e a primeira solicitação get. O minidriver define o comprimento do atraso em milissegundos no membro SettlingTime da estrutura KSPROPERTY_TUNER_MODE_CAPS_S . A solicitação get é repetida a cada cinco milissegundos, enquanto o membro Ocupado da estrutura KSPROPERTY_TUNER_STATUS_S não é zero, até cinco tentativas.

KsTvTune.ax não considera uma solicitação de ajuste concluída até receber uma status não compatível do dispositivo ou se o dispositivo ainda estiver ocupado 20 milissegundos após o intervalo especificado pelo membro SettlingTime da estrutura KSPROPERTY_TUNER_MODE_CAPS_S, o que ocorrer primeiro.

Depois disso, para cada solicitação de ajuste durante o modo de ajuste fino, haverá um intervalo de cinco milissegundos entre a solicitação definida e a primeira solicitação get.

Se você quiser que KsTvTune.ax tente novamente pelo menos uma vez após uma solicitação inicial, sempre retorne um valor PLLOffset de 1 na primeira solicitação de ajuste. KsTvTune.ax tenta imediatamente a próxima etapa mais alta, conforme especificado pelo membro TuningGranularity da estrutura KSPROPERTY_TUNER_MODE_CAPS_S . Nesse ponto, você pode retornar um valor PLLOffset maior que 1 ou menor que -1 se o minidriver determinar que não há sinal ou um valor PLLOffset de -1 ou 0 se o minidriver determinar que o sinal é bom.