Condividi tramite


KSEVENT_TUNER_INITIATE_SCAN

L'evento KSEVENT_TUNER_INITIATE_SCAN richiede che il driver avvii un'operazione di analisi e comunicherà a un client in modalità utente quando il dispositivo di ottimizzazione associato al driver completa l'operazione di analisi.

Tabella riepilogo utilizzo

Recupero Set Destinazione Tipo di descrittore di evento Tipo di valore dell'evento
No Aggiungi (Blocca) KSEVENT_TUNER_INITIATE_SCAN_S KSEVENTDATA

Commenti

Ogni richiesta di analisi deve essere non bloccabile. Ovvero, il driver non deve attendere il completamento dell'operazione di analisi prima che restituisca il controllo. In realtà, il driver deve usare un thread separato per eseguire l'operazione di analisi.

Anche se l'evento KSEVENT_TUNER_INITIATE_SCAN è indipendente da KSPROPERTY_TUNER_FREQUENCY, KSEVENT_TUNER_INITIATE_SCAN corrisponde al flag di ottimizzazione KS_TUNER_TUNING_EXACT nel membro TuningFlags della struttura KSPROPERTY_TUNER_FREQUENCY_S . Ciò significa che l'analisi tenta sempre di determinare la frequenza esatta del canale successivo. Inoltre, la strategia di ottimizzazione seguita dal dispositivo di ottimizzazione è controllata dal driver (KS_TUNER_STRATEGY_DRIVER_TUNES dal membro Strategia della struttura KSPROPERTY_TUNER_MODE_CAPS_S ). Questi flag fissi e la strategia vengono sempre seguiti anche se vengono usati un flag e una strategia diversi per controllare KSPROPERTY_TUNER_FREQUENCY.

In altre parole, i valori KSTUNER_TUNING_FLAGS e KSTUNER_STRATEGY non influiscono sul comportamento di KSEVENT_TUNER_INITIATE_SCAN.

Completamento e stato

La proprietà dello stato di analisi KSPROPERTY_TUNER_SCAN_STATUS fornisce informazioni sulla frequenza corrente e sullo stato del blocco del segnale. L'applicazione esegue una query sullo stato del blocco dalla proprietà KSPROPERTY_TUNER_SCAN_STATUS. L'applicazione esegue anche una query KSPROPERTY_TUNER_STANDARD_MODE proprietà per informazioni sul rilevamento automatico standard del segnale. Se non è stato trovato alcun segnale nell'intervallo richiesto, la proprietà KSPROPERTY_TUNER_SCAN_STATUS restituisce il valore Tuner_LockType_None nel membro LockStatus della struttura KSPROPERTY_TUNER_SCAN_STATUS_S . Se il dispositivo di ottimizzazione può rilevare automaticamente lo standard di tuner dal segnale e è stato trovato un segnale in uno standard alternativo, il dispositivo di ottimizzazione stesso può elaborare qualsiasi richiesta alla proprietà KSPROPERTY_TUNER_STANDARD . Il dispositivo di ottimizzazione potrebbe non essere in grado di andare oltre un blocco PLL (Phased-Lock-Loop) e potrebbe specificare che lo standard non è noto. In alternativa, il dispositivo di ottimizzazione potrebbe adattarsi automaticamente a uno standard di segnale diverso. Inoltre, il dispositivo di ottimizzazione potrebbe anche ottenere un blocco completo su tale standard di segnale e determinare lo standard alternativo. Tali situazioni possono verificarsi in presenza di più standard di segnale nello spettro della frequenza.

Condizioni limite

Se il driver rileva che la frequenza centrale di un canale non rientra nell'intervallo fornito da un'applicazione, il driver deve ignorare tale segnale e passare al segnale successivo; il driver non deve restituire la migliore approssimazione possibile all'interno dell'intervallo fornito. Il driver deve passare al segnale successivo per evitare il conteggio dei canali duplicati quando un'applicazione tenta di compilare un elenco di canali.

Per lo stesso motivo, l'applicazione deve spostare l'intervallo di query per metà della larghezza di banda del canale prevista (circa 6/2 = 3MHz per la TV analogica e digitale) per garantire che i canali non vengano conteggiati doppiamente in particolare quando l'hardware rileva un segnale che l'hardware non può decodificare. In questa situazione, il conducente ha difficoltà a evitare il doppio conteggio di determinati canali.

Multi-Standard Spectra

L'operazione di analisi deve essere completata ogni volta che viene trovato un nuovo canale o segnale. Il driver restituisce quindi lo stato dell'analisi tramite la proprietà KSPROPERTY_TUNER_SCAN_STATUS . L'analisi deve essere completata ogni volta che viene trovato un nuovo canale anche se il driver determina che il canale appena trovato non corrisponde allo standard applicato in precedenza. L'applicazione deve elaborare le nuove informazioni sul canale e deve inviare di nuovo una richiesta di analisi per trovare un altro canale con lo stesso standard del segnale.

Vedi anche

KSEVENT_TUNER_INITIATE_SCAN_S

KSEVENTDATA

KSPROPERTY_TUNER_SCAN_STATUS

KSPROPERTY_TUNER_SCAN_CAPS

KSPROPERTY_TUNER_STANDARD

KSPROPERTY_TUNER_STANDARD_MODE