Construction du pilote d’adaptateur
La prise en charge du pilote pour une carte audio particulière carte prend la forme d’un pilote d’adaptateur. Un pilote d’adaptateur se compose des éléments suivants :
Code d’adaptateur général qui effectue le démarrage et l’initialisation du pilote, et qui implémente toutes les opérations communes à toutes les fonctions audio sur l’adaptateur carte.
Ensemble de pilotes miniport qui gèrent des fonctions audio spécifiques sur l’adaptateur carte.
Le fournisseur de matériel fournit à la fois le code général de l’adaptateur et le code pour tous les pilotes miniports qui ne sont pas fournis par le système.
Pour obtenir un exemple de code général de l’adaptateur, consultez l’implémentation de l’interface CAdapterCommon dans l’exemple de pilote Sysvad, qui est décrit dans Exemples de pilotes audio.
En utilisant une approche en couches, le fournisseur peut écrire un pilote d’adaptateur qui fonctionne à l’un des différents niveaux, en fonction des fonctionnalités matérielles de l’adaptateur. Lorsque vous déterminez le niveau de prise en charge requis par une fonction matérielle donnée, le fournisseur doit d’abord déterminer s’il existe déjà un pilote miniport fourni par le système qui prend en charge la fonction (consultez la liste des pilotes miniports fournis par le système de la fonction PcNewMiniport ). Si ce n’est pas le cas, le fournisseur doit implémenter un pilote de miniport propriétaire, mais peut toujours être en mesure d’utiliser l’un des pilotes de port fournis par le système (consultez la liste des pilotes de port fournis par le système de la fonction PcNewPort ).
Pour implémenter la prise en charge WDM pour un appareil, procédez comme suit :
Si un pilote miniport fourni par le système prend déjà en charge la fonction matérielle, utilisez le pilote miniport existant pour gérer la fonction.
Si la fonction matérielle n’est pas compatible avec un pilote miniport fourni par le système, déterminez si la fonction est compatible avec au moins l’un des pilotes de port fournis par le système. Si un pilote de port fourni par le système prend en charge la fonction matérielle, écrivez la partie du pilote miniport qui gère la fonction. Ce pilote de miniport doit être conforme à la spécification de l’interface miniport attendue par le pilote de port propriétaire.
Si aucun pilote de port fourni par le système ne prend en charge la fonction matérielle, écrivez un minidriver pour prendre en charge la fonction. Le minidriver doit être conforme à la spécification de l’interface pour le pilote de classe de streaming.
Cette section traite des rubriques suivantes :