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 :
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
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