Minidrivers d’architecture de pilote de diffusion

Les minidrivers BDA (Broadcast Driver Architecture) contrôlent le matériel qui effectue les opérations suivantes :

  • Réglage d’un signal de diffusion numérique

  • Démodulation du signal numérique

  • Capture d’images du signal numérique

  • Démultiplexation du signal en flux vidéo, audio et de données

Les minidrivers BDA sont des minidrivers AVStream qui s’exécutent sous le module AVStream dans le pilote de diffusion en continu du noyau ks.sys. AVStream est un pilote de classe qui fournit un modèle de classe de streaming de noyau unifié pour les minidrivers audio et vidéo, et qui prend en charge l’utilisation d’objets COM sans modifier les fichiers binaires de minidriver existants. Le pilote de classe AVStream fournit une grande partie du comportement par défaut requis pour que le filtre d’un minidriver fonctionne en tant que filtre compatible de diffusion en continu du noyau WDM. Pour simplifier la tâche d’écriture de mini-disques BDA, vous pouvez utiliser la bibliothèque de prise en charge BDA (Bdasup.lib) des fonctions incluses dans le Kit de pilotes Microsoft Windows (WDK). Cette bibliothèque fournit une gestion par défaut étendue pour les ensembles de propriétés et de méthodes du minidriver BDA.

En règle générale, les enregistreurs de pilotes doivent uniquement coder les structures de modèles statiques appropriées, les inscrire auprès de la bibliothèque de prise en charge BDA, puis laisser la bibliothèque fournir une gestion par défaut pour toutes les propriétés et méthodes. Dans certains cas, un minidriver BDA doit intercepter une requête de propriété ou de méthode et effectuer les opérations appropriées.

La figure suivante montre une vue d’ensemble de l’architecture pour les mini-commandes BDA :

vue d’ensemble du diagramme de l’architecture bda minidriver.

Les sections suivantes décrivent les détails d’implémentation d’un minidriver BDA, décrivent les détails de certains jeux de propriétés et de méthodes, et contiennent un exemple de code qui montre comment intercepter certaines propriétés et méthodes :

Initialisation d’un minidriver BDA

Démarrage d’un minidriver BDA

Création de tables de répartition

Définition de tables Automation

Initialisation d’un filtre BDA

Utilisation des ensembles de méthodes et de propriétés BDA

Mise en cache des informations d’épingle pour DirectShow

Sécurisation d’un minidriver BDA

Connexion entre les broches des filtres pour les mini-drivers BDA