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.