次の方法で共有


KSEVENT_TUNER_INITIATE_SCAN

KSEVENT_TUNER_INITIATE_SCAN イベントは、ドライバーがスキャン操作を開始し、ドライバーに関連付けられているチューニング デバイスがスキャン操作を完了したときにユーザーモード クライアントに通知することを要求します。

用法の要点テーブル

Yammer の入手 設定 移行先 イベント記述子の型 イベント値の型
いいえ はい ピン留めする KSEVENT_TUNER_INITIATE_SCAN_S KSEVENTDATA

解説

すべてのスキャン要求は非ブロッキングである必要があります。 つまり、ドライバーは、コントロールを返す前にスキャン操作が完了するのを待機しないでください。 むしろ、ドライバーは別のスレッドを使用してスキャン操作を実行する必要があります。

KSEVENT_TUNER_INITIATE_SCAN イベントは KSPROPERTY_TUNER_FREQUENCY に依存しませんが、KSEVENT_TUNER_INITIATE_SCAN は KSPROPERTY_TUNER_FREQUENCY_S 構造体の TuningFlags メンバーの KS_TUNER_TUNING_EXACT チューニング フラグに対応します。 つまり、スキャンは常に次のチャンネルの正確な頻度を判断しようとします。 また、チューニング デバイスが従うチューニング戦略は、ドライバーによって制御されます (KSPROPERTY_TUNER_MODE_CAPS_S 構造体の Strategy メンバーから KS_TUNER_STRATEGY_DRIVER_TUNES)。 これらの固定フラグと戦略は、別のフラグと戦略を使用して KSPROPERTY_TUNER_FREQUENCY を制御する場合でも常に適用されます。

つまり、KSTUNER_TUNING_FLAGS 値と KSTUNER_STRATEGY 値は KSEVENT_TUNER_INITIATE_SCAN の動作には影響しません。

完了と状態

スキャン状態プロパティ KSPROPERTY_TUNER_SCAN_STATUS は、現在の周波数とシグナル ロックの状態に関する情報を提供します。 アプリケーションは、KSPROPERTY_TUNER_SCAN_STATUS プロパティからロックの状態を照会します。 また、アプリケーションは KSPROPERTY_TUNER_STANDARD_MODE プロパティに対して、自動シグナル標準検出に関する情報を照会します。 要求された範囲内にシグナルが見つからなかった場合、KSPROPERTY_TUNER_SCAN_STATUS プロパティは、KSPROPERTY_TUNER_SCAN_STATUS_S 構造体の LockStatus メンバーの T uner_LockType_None 値を返します。 チューニング デバイスが、シグナルから自動的にチューナ標準を検出し、代替標準のシグナルが検出された場合、チューニング デバイス自身が KSPROPERTY_TUNER_STANDARD プロパティへ要求を処理できます。 チューニング デバイスは、フェーズロックループ (PLL) ロック以上に進めることができず、標準が不明であることを指定する可能性があります。 または、チューニング デバイスが別のシグナル標準に自動的に調整される場合があります。 また、チューニング デバイスは、そのシグナル標準のフル ロックを取得し、代替標準を決定する場合もあります。 このような状況は、周波数スペクトルに複数のシグナル標準がある場合に発生する可能性があります。

境界条件

ドライバーは、チャンネルの中心周波数がアプリケーションが提供する範囲外であることを検出した場合、ドライバーは、そのシグナルを無視し、次のシグナルに移動する必要があります。ドライバーは、指定された範囲内で可能な限り最適な近似値を返してはなりません。 ドライバーは、アプリケーションがチャンネル リストをコンパイルしようとしたときにチャンネルの重複カウントを回避するために、次のシグナルに移動する必要があります。

同じ理由から、アプリケーションは、特にハードウェアがデコードできないシグナルを検出したときにチャンネルが二重カウントされないように、クエリの範囲を予想されるチャンネル帯域幅の半分 (アナログおよびデジタル テレビの場合は約 6/2 = 3MHz) にシフトする必要があります。 このような状況では、ドライバーは、特定のチャンネルの二重カウントを回避することが困難です。

マルチスタンダード スペクトル

スキャン操作は、新しいチャンネルまたはシグナルが検出されるたびに完了する必要があります。 その後、ドライバーは、KSPROPERTY_TUNER_SCAN_STATUS プロパティを介してスキャン状態を返します。 新しく見つかったチャンネルが以前に適用された標準と一致しないとドライバーが判断した場合でも、新しいチャンネルが見つかった場合は必ずスキャンを完了する必要があります。 アプリケーションは新しいチャンネル情報を処理する必要があり、スキャン要求を再送信して、同じシグナル標準を持つ別のチャンネルを見つける必要があります。

関連項目

KSEVENT_TUNER_INITIATE_SCAN_S

KSEVENTDATA

KSPROPERTY_TUNER_SCAN_STATUS

KSPROPERTY_TUNER_SCAN_CAPS

KSPROPERTY_TUNER_STANDARD

KSPROPERTY_TUNER_STANDARD_MODE