Épingler Data-Range et propriétés d’intersection
Plusieurs demandes de propriété fournissent des informations sur les formats de données des flux audio qu’un périphérique audio est capable de gérer à ses broches d’entrée et de sortie.
Les formats de données de flux audio qu’une broche est capable de prendre en charge sont exprimés dans un tableau KSMULTIPLE_ITEM de structures dérivées de KSDATARANGE. La prise en charge de la plage de données d’épingle est exposée via les trois propriétés KSPROPSETID_Pin suivantes sur le filtre :
KSPROPERTY_PIN_DATARANGES Cette propriété signale les plages de données qui sont statiques et qui représentent tous les formats possibles pris en charge. En règle générale, les plages de données sont contenues dans un tableau statique dans le pilote de l’adaptateur. KSPROPERTY_PIN_CONSTRAINEDDATARANGES Cette propriété signale les plages de données qui sont dynamiques et qui représentent le sous-ensemble des formats pris en charge au moment de la demande de propriété. Le gestionnaire de propriétés doit contenir la logique permettant de déterminer les formats que l’épingle peut prendre en charge au moment de l’exécution. Par exemple, une implémentation matérielle peut avoir des contraintes DMA qui n’autorisent pas la prise en charge du duplex intégral dans certaines combinaisons de formats. KSPROPERTY_PIN_DATAINTERSECTION Cette propriété sélectionne un format de données dans une liste de plages de données. La sélection est basée sur des fonctionnalités dynamiques et le format est extrait du sous-ensemble de formats que le pilote peut prendre en charge au moment de la demande de propriété. Pour utiliser cette propriété, l’appelant fournit un tableau de plages de données. À partir du premier élément, le gestionnaire de propriétés recherche le tableau jusqu’à ce qu’il trouve une plage de données qu’il est actuellement en mesure de prendre en charge. En cas de réussite, le gestionnaire génère un format de données extrait de cette plage de données et retourne STATUS_SUCCESS. Sinon, le gestionnaire retourne STATUS_NO_MATCH. Les composants du système audio utilisent les propriétés KSPROPERTY_PIN_DATARANGES et KSPROPERTY_PIN_DATAINTERSECTION. Les pilotes miniport doivent prendre en charge ces propriétés. La prise en charge de KSPROPERTY_PIN_CONSTRAINEDDATARANGES est facultative.
Pour plus d’informations, consultez Formats de données audio et plages de données.
Note Les KSPROPERTY_PIN_DATARANGES et les KSPROPERTY_PIN_CONSTRAINEDDATARANGES commencent chacun sur une adresse alignée sur 8 octets.