Pin Category-Eigenschaft

WdM-Audiotreiber (Microsoft Windows Driver Model) für USB-Audiogeräte, IEEE 1394-Audiogeräte und Audiogeräte in internen Bussen stellen alle ihre Geräte als KS-Filter mit Pins dar. Ein WDM-Audiotreiber verwaltet für jeden unterstützten Pintyp eine KSPIN_DESCRIPTOR-Struktur . In dieser Struktur speichert der Treiber die KSPROPSETID_Pin Eigenschaften des Pintyps. Zu diesen Eigenschaften gehört die KSPROPERTY_PIN_CATEGORY-Eigenschaft . Eine Anforderung für diese Eigenschaft ruft die KS-Pinkategorie-GUID aus dem Category-Member der KSPIN_DESCRIPTOR-Struktur ab. Diese GUID gibt die allgemeine Kategorie der Funktionen an, die der Pin bereitstellt. Beispielsweise identifiziert eine bestimmte PIN-Kategorie-GUID, KSNODETYPE_HEADPHONES, einen Pin als Ausgangsbuchse für Kopfhörer.

Bei einem Waveaudiogerät auf einem internen Bus (z. B. PCI) enthält der PortCls-Miniporttreiber ein Array von Stiftdeskriptoren, die jeweils einen Pintyp im Filter beschreibt, der das Gerät darstellt. Jeder Pindeskriptor ist eine PCPIN_DESCRIPTOR-Struktur , die eine eingebettete KSPIN_DESCRIPTOR-Struktur mit einer PIN-Kategorie-GUID enthält. Beim Empfang einer KSPROPERTY_PIN_CATEGORY-Eigenschaftsanforderung von einem Client ruft der Porttreiber die PIN-Kategorie-GUID aus dem Pindeskriptor des Miniporttreibers für den angegebenen Pintyp ab. Weitere Informationen zu Stiftdeskriptoren finden Sie unter Anheften von Fabriken.

Ein USB-Audiogerät verfügt über eine Reihe von Terminals, über die digitale Streams und analoge Signale in das Gerät ein- und aussteigen können. Beim Erstellen eines KS-Filters, der ein USB-Audiogerät darstellt, übersetzt der USBAudio-Klassensystemtreiber die Anschlüsse des Geräts in Pins am Filter. Die Headerdatei Ksmedia.h definiert eine Zuordnung für jeden USB-Terminaltypbezeichner zu einer GUID der KS-Pinkategorie. In den folgenden sechs Tabellen werden die Terminaltypbezeichner und die entsprechenden PIN-Kategorie-GUIDs angezeigt.

Eingabeterminaltypen

USB-Terminal-ID KS Pin Category GUID

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

Ausgabeterminaltypen

USB-Terminal-ID KS Pin Category GUID

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

Bidirektionale Terminaltypen

USB-Terminal-ID KS Pin Category GUID

0x0401

KSNODETYPE_HANDSET

0x0402

KSNODETYPE_HEADSET

0x0403

KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION

0x0404

KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE

0x0405

KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE

Telefonieterminaltypen

USB-Terminal-ID KS Pin Category GUID

0x0501

KSNODETYPE_PHONE_LINE

0x0502

KSNODETYPE_TELEPHONE

0x0503

KSNODETYPE_DOWN_LINE_PHONE

Externe Terminaltypen

USB-Terminal-ID KS Pin Category GUID

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

Eingebettete Funktionsterminaltypen

USB-Terminal-ID KS Pin Category GUID

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

Weitere Informationen zu USB-Terminaltypbezeichnern finden Sie unter Universal Serial Bus Device Class Definition for Terminal Types (Release 1.0), die auf der Website USB Implementers Forum verfügbar ist.

Alle PIN-Kategorie-GUIDs in den vorherigen Tabellen verfügen über Parameternamen der Form KSNODETYPE_XXX. Beachten Sie, dass KS-Knotentyp-GUIDs auch KSNODETYPE_XXX-Parameternamen aufweisen. Diese Benennungskonvention schafft ein gewisses Verwechslungspotential zwischen PIN-Kategorie-GUIDs und Knotentyp-GUIDs. Glücklicherweise identifiziert fast jeder KSNODETYPE_XXX-Parameter entweder eine Pinkategorie oder einen Knotentyp, aber nicht beides. Die einzige Ausnahme von der Regel ist KSNODETYPE_SYNTHESIZER, die je nach Kontext entweder eine Pinkategorie oder einen Knotentyp identifizieren kann. Eine Liste der Knotentyp-GUIDs finden Sie unter Audiotopologieknoten.

Beim Instanziieren eines USB-Audiogeräts fragt der Systemtreiber der USBAudio-Klasse das Gerät nach seiner internen Topologie ab, einschließlich seiner Terminals. Mit diesen Informationen erstellt der USBAudio-Treiber einen Filter zur Darstellung des Geräts und übersetzt jedes Terminal in einen entsprechenden Pin auf dem Filter. Während dieses Prozesses übersetzt der Treiber jeden USB-Terminaltypbezeichner in die entsprechende KS-Pinkategorie-GUID, die eine der GUIDs in den vorherigen Tabellen ist. Der Treiber erstellt eine KSPIN_DESCRIPTOR-Struktur , um den Pin zu beschreiben, und schreibt die PIN-Kategorie-GUID in die Struktur.

Ein PortCls-Miniporttreiber verwendet nicht unbedingt nur die Kategorien-GUIDs, die in den vorherigen sechs Tabellen angezeigt werden. Beispielsweise kann ein Treiber eine benutzerdefinierte PIN-Kategorie-GUID definieren und verwenden, um einen Pintyp zu beschreiben, dessen Funktionskategorie außerhalb der Kategorien in den Tabellen liegt. Natürlich ist eine GUID für eine benutzerdefinierte Pinkategorie nur für Clients nützlich, die die GUID erkennen.

Das Audiosubsystem verwaltet eine Liste der PIN-Kategorie-GUIDs und der zugehörigen Anzeigenamen in der Systemregistrierung. Das Medienklasseninstallationsprogramm kopiert die GUID-Name-Paare aus der Datei Ks.inf im Unterordner "Inf" des ordners Standard Windows in die Registrierung (z. B. C:\Windows\Inf\Ks.inf).

Das Betriebssystem verwendet Anheftkategorien, um Anzeigenamen Audioendpunktgeräten zuzuordnen. Weitere Informationen zum Zuordnen von Anzeigenamen zu Audioendpunktgeräten finden Sie unter Anzeigenamen für Audioendpunktgeräte.