Pin Category, propriété
Les pilotes audio WDM (Modèle de pilote Windows) Microsoft pour les périphériques audio USB, les périphériques audio IEEE 1394 et les périphériques audio sur les bus internes représentent tous leurs appareils sous forme de filtres KS avec des broches. Un pilote audio WDM conserve une structure KSPIN_DESCRIPTOR pour chaque type de broche qu’il prend en charge. Dans cette structure, le pilote stocke les propriétés KSPROPSETID_Pin du type de broche. Parmi ces propriétés figure la propriété KSPROPERTY_PIN_CATEGORY . Une demande pour cette propriété récupère le GUID de catégorie de broche KS à partir du membre Category de la structure KSPIN_DESCRIPTOR. Ce GUID indique la catégorie générale de fonctionnalités que fournit l’épingle. Par exemple, un GUID de catégorie de broche particulier, KSNODETYPE_HEADPHONES, identifie une broche en tant que prise de sortie pour le casque.
Dans le cas d’un périphérique audio ondulation sur un bus interne (par exemple, PCI), le pilote miniport PortCls contient un tableau de descripteurs de broche, chacun d’eux décrivant un type de broche dans le filtre qui représente l’appareil. Chaque descripteur de broche est une structure PCPIN_DESCRIPTOR contenant une structure de KSPIN_DESCRIPTOR incorporée avec un GUID de catégorie de broche. Lors de la réception d’une demande de propriété KSPROPERTY_PIN_CATEGORY d’un client, le pilote de port récupère le GUID de la catégorie de broche à partir du descripteur de broche du pilote miniport pour le type d’épingle spécifié. Pour plus d’informations sur les descripteurs d’épingle, consultez Fabriques de broches.
Un périphérique audio USB a un certain nombre de terminaux via lesquels des flux numériques et des signaux analogiques peuvent entrer et quitter l’appareil. Lors de la construction d’un filtre KS pour représenter un périphérique audio USB, le pilote système de classe USBAudio traduit les terminaux de l’appareil en broches sur le filtre. Le fichier d’en-tête Ksmedia.h définit un mappage pour chaque identificateur de type de terminal USB à un GUID de catégorie de broche KS. Les six tableaux suivants présentent les identificateurs de type de terminal et leurs GUID de catégorie de broche correspondants.
Types de terminal d’entrée
USB Terminal ID | GUID de catégorie de broche KS |
---|---|
0x0201 |
KSNODETYPE_MICROPHONE |
0x0202 |
KSNODETYPE_DESKTOP_MICROPHONE |
0x0203 |
KSNODETYPE_PERSONAL_MICROPHONE |
0x0204 |
KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE |
0x0205 |
KSNODETYPE_MICROPHONE_ARRAY |
0x0206 |
KSNODETYPE_PROCESSING_MICROPHONE_ARRAY |
Types de terminal de sortie
USB Terminal ID | GUID de catégorie de broche KS |
---|---|
0x0301 |
KSNODETYPE_SPEAKER |
0x0302 |
KSNODETYPE_HEADPHONES |
0x0303 |
KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO |
0x0304 |
KSNODETYPE_DESKTOP_SPEAKER |
0x0305 |
KSNODETYPE_ROOM_SPEAKER |
0x0306 |
KSNODETYPE_COMMUNICATION_SPEAKER |
0x0307 |
KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER |
Types de terminaux bidirectionnels
USB Terminal ID | GUID de catégorie de broche KS |
---|---|
0x0401 |
KSNODETYPE_HANDSET |
0x0402 |
KSNODETYPE_HEADSET |
0x0403 |
KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION |
0x0404 |
KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE |
0x0405 |
KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE |
Types de terminaux de téléphonie
USB Terminal ID | GUID de catégorie de broche KS |
---|---|
0x0501 |
KSNODETYPE_PHONE_LINE |
0x0502 |
KSNODETYPE_TELEPHONE |
0x0503 |
KSNODETYPE_DOWN_LINE_PHONE |
Types de terminal externe
USB Terminal ID | GUID de catégorie de broche KS |
---|---|
0x0601 |
KSNODETYPE_ANALOG_CONNECTOR |
0x0602 |
KSNODETYPE_DIGITAL_AUDIO_INTERFACE |
0x0603 |
KSNODETYPE_LINE_CONNECTOR |
0x0604 |
KSNODETYPE_LEGACY_AUDIO_CONNECTOR |
0x0605 |
KSNODETYPE_SPDIF_INTERFACE |
0x0606 |
KSNODETYPE_1394_DA_STREAM |
0x0607 |
KSNODETYPE_1394_DV_STREAM_SOUNDTRACK |
Types de terminal de fonction incorporés
USB Terminal ID | GUID de catégorie de broche KS |
---|---|
0x0701 |
KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE |
0x0702 |
KSNODETYPE_EQUALIZATION_NOISE |
0x0703 |
KSNODETYPE_CD_PLAYER |
0x0704 |
KSNODETYPE_DAT_IO_DIGITAL_AUDIO_TAPE |
0x0705 |
KSNODETYPE_DCC_IO_DIGITAL_COMPACT_CASSETTE |
0x0706 |
KSNODETYPE_MINIDISK |
0x0707 |
KSNODETYPE_ANALOG_TAPE |
0x0708 |
KSNODETYPE_PHONOGRAPH |
0x0709 |
KSNODETYPE_VCR_AUDIO |
0x070A |
KSNODETYPE_VIDEO_DISC_AUDIO |
0x070B |
KSNODETYPE_DVD_AUDIO |
0x070C |
KSNODETYPE_TV_TUNER_AUDIO |
0x070D |
KSNODETYPE_SATELLITE_RECEIVER_AUDIO |
0x070E |
KSNODETYPE_CABLE_TUNER_AUDIO |
0x070F |
KSNODETYPE_DSS_AUDIO |
0x0710 |
KSNODETYPE_RADIO_RECEIVER |
0x0711 |
KSNODETYPE_RADIO_TRANSMITTER |
0x0712 |
KSNODETYPE_MULTITRACK_RECORDER |
0x0713 |
KSNODETYPE_SYNTHESIZER |
Pour plus d’informations sur les identificateurs de type de terminal USB, consultez la définition de la classe de périphérique de bus série universel pour les types de terminaux (version 1.0), disponible sur le site web du forum des implémenteurs USB .
Tous les GUID de catégorie d’épingles dans les tableaux précédents ont des noms de paramètres de la forme KSNODETYPE_XXX. Notez que les GUID de type de nœud KS ont également des noms de paramètres KSNODETYPE_XXX . Cette convention d’affectation de noms crée un risque de confusion entre les GUID de catégorie d’épingles et les GUID de type de nœud. Heureusement, presque tous les paramètres KSNODETYPE_XXX identifient une catégorie de broche ou un type de nœud, mais pas les deux. La seule exception à la règle est KSNODETYPE_SYNTHESIZER, qui peut identifier une catégorie d’épingle ou un type de nœud, selon le contexte. Pour obtenir la liste des GUID de type de nœud, consultez Nœuds de topologie audio.
Lors de l’instanciation d’un périphérique audio USB, le pilote système de classe USBAudio interroge le périphérique pour sa topologie interne, y compris ses terminaux. Avec ces informations, le pilote USBAudio construit un filtre pour représenter le périphérique et convertit chaque terminal en une broche correspondante sur le filtre. Au cours de ce processus, le pilote traduit chaque identificateur de type de terminal USB en GUID de catégorie de broche KS correspondant, qui est l’un des GUID des tableaux précédents. Le pilote construit une structure KSPIN_DESCRIPTOR pour décrire la broche et écrit le GUID de la catégorie de broche dans la structure.
Un pilote de miniport PortCls n’utilise pas nécessairement uniquement les GUID de catégorie qui apparaissent dans les six tables précédentes. Par exemple, un pilote peut définir et utiliser un GUID de catégorie de broche personnalisé pour décrire un type d’épingle dont la catégorie fonctionnelle se situe en dehors des catégories dans les tables. Naturellement, un GUID de catégorie d’épingle personnalisé est utile uniquement pour les clients qui reconnaissent le GUID.
Le sous-système audio conserve une liste de GUID de catégorie de broches et leurs noms conviviaux associés dans le registre système. Le programme d’installation de la classe multimédia copie les paires GUID-nom dans le Registre à partir du fichier Ks.inf situé dans le sous-dossier Inf du dossier Windows main (par exemple, C:\Windows\Inf\Ks.inf).
Le système d’exploitation utilise des catégories d’épingles pour associer des noms conviviaux aux appareils de point de terminaison audio. Pour plus d’informations sur la façon d’associer des noms conviviaux à des appareils de point de terminaison audio, consultez Noms conviviaux pour les appareils de point de terminaison audio.