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.