最初のチューニング要求の認識
一部のチューナでは、有効な信号強度/PLL 情報を取得するために周波数を探して回る必要があるため、ミニドライバーは、KsTvTune.ax がいつ最初のチューニング要求をしているかを認識する必要があります。
各チューニング要求は、実際にはミニドライバーへの要求のペアです。 ミニドライバーは、最初に set KSPROPERTY_TUNER_FREQUENCY 要求を受け取り、その後に 1 つ以上の get KSPROPERTY_TUNER_STATUS 要求を受け取ります。
最初のチューニング要求では、set 要求と最初の get 要求の間に遅延があります。 ミニドライバーは、KSPROPERTY_TUNER_MODE_CAPS_S 構造体の SettlingTime メンバーにおける遅延の長さをミリ秒単位で設定します。 get 要求は 5 ミリ秒ごとに繰り返されますが、KSPROPERTY_TUNER_STATUS_S 構造体の Busy メンバーは 0 以外で、最大 5 回試行されます。
KsTvTune.ax は、デバイスから非ビジー状態を受信するまで、またはデバイスが KSPROPERTY_TUNER_MODE_CAPS_S 構造体の SettlingTime メンバーによって指定された間隔の 20 ミリ秒後にまだビジー状態である場合 (どちらか早い方)、チューニング要求が完了したとは見なされません。
その後、微調整モード中のチューニング要求ごとに、set 要求と最初の get 要求の間に 5 ミリ秒の間隔があります。
最初のリクエストの後、KsTvTune.ax に少なくとも 1 回は再試行させたい場合は、最初のチューニングリクエストで常に PLLOffset 値 1 を返します。 KsTvTune.ax は直ちに、KSPROPERTY_TUNER_MODE_CAPS_S 構造体の TuningGranularity メンバで指定された、次のステップを試みます。 その時点で、ミニドライバーがシグナルがないと判断した場合は、PLLOffset の 1 より大きいか値または -1より小さい値を返し、ミニドライバーが信号が良好であると判断した場合は PLLOffset -1 または 0 の値を返します。