KSEVENT_TUNER_INITIATE_SCAN
KSEVENT_TUNER_INITIATE_SCAN 이벤트는 드라이버가 검사 작업을 시작하고 드라이버의 연결된 튜닝 디바이스가 검색 작업을 완료할 때 사용자 모드 클라이언트에 알릴 것을 요청합니다.
사용 요약 테이블
| 가져오기 | 설정 | 대상 | 이벤트 설명자 유형 | 이벤트 값 형식 |
|---|---|---|---|---|
| 아니요 | 예 | Pin | 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 구조의전략 멤버에서 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 멤버에서 Tuner_LockType_None 값을 반환합니다. 튜닝 디바이스가 신호에서 튜너 표준을 자동으로 감지할 수 있고 대체 표준의 신호가 발견되면 튜닝 디바이스 자체가 KSPROPERTY_TUNER_STANDARD 속성에 대한 모든 요청을 처리할 수 있습니다. 튜닝 디바이스는 PLL(단계적 잠금 루프) 잠금을 초과하여 진행할 수 없으며 표준을 알 수 없도록 지정할 수 있습니다. 또는 튜닝 디바이스가 자동으로 다른 신호 표준으로 조정될 수 있습니다. 또한 튜닝 디바이스는 해당 신호 표준에 대한 전체 잠금을 얻고 대체 표준을 결정할 수도 있습니다. 이러한 상황은 주파수 스펙트럼에 여러 신호 표준이 있을 때 발생할 수 있습니다.
경계 조건
드라이버가 채널의 중심 빈도가 애플리케이션이 제공하는 범위를 벗어나는 경우 드라이버는 해당 신호를 무시하고 다음 신호로 이동해야 합니다. 드라이버는 제공된 범위 내에서 가능한 최상의 근사치를 반환해서는 안됩니다. 애플리케이션이 채널 목록을 컴파일하려고 할 때 중복 채널 계산을 방지하려면 드라이버가 다음 신호로 이동해야 합니다.
같은 이유로 애플리케이션은 하드웨어에서 하드웨어가 디코딩할 수 없다는 신호가 발생할 때 채널이 특히 두 배로 계산되지 않도록 예상 채널 대역폭(아날로그 및 디지털 TV의 경우 약 6/2 = 3MHz)의 절반으로 쿼리 범위를 이동해야 합니다. 이 경우 드라이버는 특정 채널을 두 번 계산하는 것을 피하는 데 어려움을 겪습니다.
다중 표준 사양
새 채널 또는 신호를 찾을 때마다 검사 작업이 완료되어야 합니다. 그런 다음 드라이버는 KSPROPERTY_TUNER_SCAN_STATUS 속성을 통해 검사 상태를 반환합니다. 드라이버가 새로 찾은 채널이 이전에 적용된 표준과 일치하지 않는다고 판단하더라도 새 채널을 찾을 때마다 검사가 완료되어야 합니다. 애플리케이션은 새 채널 정보를 처리해야 하며 동일한 신호 표준이 있는 다른 채널을 찾기 위해 검사 요청을 다시 제출해야 합니다.