Minidriver architettura driver broadcast

I minidriver BDA (Broadcast Driver Architecture) controllano l'hardware che esegue le operazioni seguenti:

  • Ottimizzazione di un segnale di trasmissione digitale

  • Demodulazione del segnale digitale

  • Acquisizione di fotogrammi del segnale digitale

  • Demultiplexing del segnale in flussi video, audio e dati

I minidriver BDA sono minidriver AVStream eseguiti nel modulo AVStream nel driver di streaming kernel ks.sys. AVStream è un driver di classe che fornisce un modello di classe di streaming kernel unificato per minidriver audio e video e che supporta l'uso di oggetti COM senza modificare i file binari del minidriver esistenti. Il driver di classe AVStream fornisce gran parte del comportamento predefinito necessario per fare in modo che il filtro di un minidriver funzioni come filtro conforme allo streaming del kernel WDM. Per semplificare l'attività di scrittura di minidriver BDA, è possibile usare la libreria di supporto BDA (Bdasup.lib) di funzioni incluse in Microsoft Windows Driver Kit (WDK). Questa libreria offre una gestione predefinita completa per le proprietà e i set di metodi del minidriver BDA.

In genere, i writer di driver devono codificare solo le strutture di modello statiche appropriate, registrarle con la libreria di supporto BDA e quindi consentire alla libreria di fornire la gestione predefinita per tutte le proprietà e i metodi. In alcuni casi, un minidriver BDA deve intercettare una richiesta di proprietà o metodo ed eseguire le operazioni appropriate.

La figura seguente illustra una panoramica dell'architettura per i minidriver BDA:

panoramica del diagramma dell'architettura di bda minidriver.

Le sezioni seguenti descrivono i dettagli di implementazione per un minidriver BDA, illustrano i dettagli di alcuni set di proprietà e metodi e contengono codice di esempio che illustra come intercettare determinate proprietà e metodi:

Inizializzazione di un minidriver BDA

Avvio di un minidriver BDA

Creazione di tabelle Dispatch

Definizione di tabelle di automazione

Inizializzazione di un filtro BDA

Utilizzo di set di proprietà e metodi BDA

Memorizzazione nella cache delle informazioni sui pin per DirectShow

Protezione di un minidriver BDA

Connessione tra pin di filtri per minidriver BDA