Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le gestionnaire d’intersection de données propriétaire d’un adaptateur (méthode IMiniport ::D ataRangeIntersection de l’objet du pilote miniport) peut refuser d’effectuer la vérification de l’intersection des données en retournant le code d’état STATUS_NOT_IMPLEMENTED. Dans ce cas, le gestionnaire d’intersection de données par défaut du pilote de port effectue la vérification au nom de l’adaptateur.
Vous pouvez implémenter un gestionnaire d’intersection de données minimal pour votre pilote d’adaptateur en tant que méthode DataRangeIntersection qui refuse toutes les demandes d’intersection de données en retournant STATUS_NOT_IMPLEMENTED.
L’implémentation actuelle du gestionnaire par défaut du pilote de port est limitée dans les types de plages de données qu’il peut gérer :
Seuls les formats de données PCM
Seuls les flux audio mono et stéréo
Un pilote d’adaptateur qui prend en charge les formats non PCM ou multicanal doit implémenter un gestionnaire d’intersection de données propriétaire au lieu de compter sur le pilote de port pour gérer les intersections de données pour ces formats.
En outre, le gestionnaire par défaut prend uniquement en charge les formats audio qui peuvent être spécifiés par une structure KSDATAFORMAT_DSOUND ou KSDATAFORMAT_WAVEFORMATEX . Il ne prend pas en charge un format contenant une structure WAVEFORMATEXTENSIBLE , qui est nécessaire, par exemple, pour spécifier le masque de canal pour un format avec plus de deux canaux.
Lorsque vous choisissez un format commun à partir de l’intersection entre deux plages de données, le gestionnaire par défaut du pilote de port sélectionne toujours la valeur la plus élevée dans la région d’intersection de chaque paramètre :
Si l’intersection s’étend sur plusieurs échantillons valides (11, 22 et 44 kHz, par exemple), le gestionnaire par défaut choisit la fréquence la plus élevée.
Si l’intersection s’étend sur plusieurs bits valides par échantillon (8, 16 et 32 bits, par exemple), le gestionnaire par défaut choisit la plus grande valeur.
Si l’intersection s’étend à la fois sur les formats mono et stéréo, le gestionnaire par défaut choisit la stéréo.
Si le gestionnaire par défaut sélectionne un format insatisfaisant, le pilote de l’adaptateur a la possibilité de rejeter le format en échouant l’appel NewStream (par exemple, voir IMiniportWavePci ::NewStream) lorsque SysAudio tente de créer une broche de récepteur avec le format. Si l’appel échoue, SysAudio ne continuera pas à rechercher des intersections de données. Au lieu de cela, il tentera de créer une connexion en parcourant une liste des formats PCM pris en charge par les filtres système tels que KMixer, jusqu'à ce qu’il trouve un format que la broche de réception de l’adaptateur peut également prendre en charge. La liste est ordonnée par priorité des formats de qualité supérieure en premier. Comme précédemment, l’adaptateur rejette les formats insatisfaisants dans la liste en échouant les appels NewStream pour ces formats.