Share via


Übersicht über die Enumeration von Schnittstellensammlungen auf zusammengesetzten USB-Geräten

Schnittstellen auf einem zusammengesetzten USB-Gerät können in Sammlungen gruppiert werden. Der generische übergeordnete USB-Treiber (Usbccgp.sys) kann Schnittstellensammlungen auf vier Arten auflisten.

Diese vier Methoden zur Enumeration von Schnittstellenauflistungen sind hierarchisch wie folgt angeordnet:

  1. Vom Anbieter bereitgestellte Rückrufroutinen

    Wenn der Anbieter eine Rückrufroutine mit dem generischen übergeordneten USB-Treiber (Usbccgp.sys) registriert hat, gibt der generische übergeordnete Treiber der Rückrufroutine Vorrang und ermöglicht es der Rückrufroutine, Schnittstellen zu gruppieren, anstatt eine andere Methode zu verwenden. Weitere Informationen zur Enumeration der Schnittstellensammlung mithilfe von vom Anbieter bereitgestellten Rückrufroutinen finden Sie unter Enumeration of Interface Collections on USB Composite Devices.

  2. Funktionale Union-Deskriptoren

    . Wenn der Anbieter die CDC- und WMCDC-Enumeration im generischen übergeordneten USB-Treiber aktiviert hat, verwendet der generische übergeordnete Treiber union functional descriptors (UFDs), um Schnittstellen in Sammlungen zu gruppieren. Wenn diese Methode aktiviert ist, hat diese Methode Vorrang vor allen anderen Methoden, mit Ausnahme von vom Anbieter bereitgestellten Rückrufroutinen.

  3. Schnittstellenzuordnungsdeskriptoren

    Wenn Schnittstellenzuordnungsdeskriptoren (Interface Association Descriptors , IADs) vorhanden sind, gruppiert der generische übergeordnete USB-Treiber Schnittstellen immer mithilfe von IADs und nicht mit Legacymethoden. Microsoft empfiehlt, dass Anbieter IADs verwenden, um Schnittstellensammlungen zu definieren.

  4. Legacy-Audiomethode

    Der generische übergeordnete USB-Treiber kann Schnittstellensammlungen mithilfe von Legacytechniken auflisten, die für Audiofunktionen reserviert sind. Der generische übergeordnete Treiber verwendet diese Methode nicht, wenn auf dem Gerät IADs vorhanden sind.

Anpassen der Enumeration von Schnittstellensammlungen für zusammengesetzte Geräte

Einige USB-Geräte verfügen über Schnittstellensammlungen, die vom USB Interface Association Descriptor (IAD) nicht beschrieben werden können. Unter Windows Vista und höheren Betriebssystemen können Anbieter die Art und Weise anpassen, wie der generische übergeordnete USB-Treiber (Usbccgp.sys) die Schnittstellensammlungen eines Geräts definiert und aufzählt. Dies erfolgt über eine Enumerationsrückrufroutine in einem Filtertreiber. Die Rückrufroutine unterstützt den generischen übergeordneten Treiber beim Definieren benutzerdefinierter Schnittstellensammlungen für das Gerät.

Damit der generische übergeordnete Treiber benutzerdefinierte Schnittstellensammlungen definieren kann, muss der Anbieter des zusammengesetzten Geräts:

  1. Implementieren Sie die Enumerationsrückrufroutine (USBC_START_DEVICE_CALLBACK).
  2. Geben Sie einen Zeiger auf die Rückrufroutine in der USB-Gerätekonfigurationsschnittstelle (StartDeviceCallback-Member von USBC_DEVICE_CONFIGURATION_INTERFACE_V1) an.
  3. Geben Sie eine INF-Datei an, die der Geräte-ID des zusammengesetzten Geräts entspricht und explizit sowohl den generischen übergeordneten USB-Treiber als auch den Filtertreiber lädt.

Überlegungen zur Implementierung

Der Filtertreiber, der die Enumerationsrückrufroutine enthält, kann entweder ein höherer oder ein niedrigerer Filtertreiber sein. Wenn der generische übergeordnete USB-Treiber eine IRP_MN_START_DEVICE Anforderung zum Starten eines zusammengesetzten Geräts empfängt, fragt er die USB-Gerätekonfigurationsschnittstelle ab, indem er eine IRP_MN_QUERY_INTERFACE Anforderung an den oberen Rand des Treiberstapels sendet.

Beim Empfangen einer IRP_MN_QUERY_INTERFACE-Anforderung muss der Filtertreiber den GUID-Typ im InterfaceType-Member der Anforderung überprüfen, um zu überprüfen, ob die angeforderte Schnittstelle vom Typ USB_BUS_INTERFACE_USBC_CONFIGURATION_GUID ist. Wenn dies der Grund ist, gibt der Filtertreiber einen Zeiger auf die Schnittstelle im Schnittstellenelement des IRP zurück.

Die Enumerationsrückrufroutine muss einen Zeiger auf ein Array von Funktionsdeskriptoren (USBC_FUNCTION_DESCRIPTOR) zurückgeben, die die Schnittstellenauflistungen beschreiben. Jeder Funktionsdeskriptor enthält ein Array von Schnittstellendeskriptoren (USB_INTERFACE_DESCRIPTOR), die die Schnittstellenauflistung beschreiben. Die Rückrufroutine muss sowohl die Funktionsdeskriptoren als auch die Schnittstellendeskriptoren aus einem nicht ausgelagerten Pool zuordnen. Der generische übergeordnete Treiber gibt diesen Arbeitsspeicher frei. Die Rückrufroutine muss sicherstellen, dass der NumberOfInterfaces-Member jedes USB_INTERFACE_DESCRIPTOR die Anzahl der Schnittstellen in der Schnittstellensammlung genau meldet.

Der generische übergeordnete Treiber erstellt ein physisches Geräteobjekt (PDO) für jeden Funktionsdeskriptor.

Die USB-Gerätekonfigurationsschnittstelle und die Enumerationsrückrufroutine sind in Generische übergeordnete Treiberroutinen zusammengefasst.

Generischer übergeordneter USB-Treiberlademechanismus

Wenn ein zusammengesetztes Gerät die unter Enumeration of USB Composite Devices beschriebenen Anforderungen erfüllt, generiert das Betriebssystem eine kompatible ID von USB\COMPOSITE , um anzugeben, dass das Gerät zusammengesetzt ist. Die kompatible ID erzeugt eine Übereinstimmung in Usb.inf, und das Betriebssystem lädt den generischen übergeordneten USB-Treiber automatisch ohne die Hilfe einer vom Hersteller bereitgestellten INF-Datei.

Dieser Standardmechanismus funktioniert jedoch nicht für zusammengesetzte Geräte, die eine benutzerdefinierte Enumeration von Schnittstellensammlungen erfordern, da das System im Standardmechanismus nicht den erforderlichen vom Anbieter bereitgestellten Filtertreiber lädt. Damit der Routinemechanismus des Enumerationsrückrufs funktioniert, muss der Filtertreiber, der die USB-Gerätekonfigurationsschnittstelle verfügbar macht, bereits geladen werden, wenn das generische übergeordnete USB-Element die Schnittstellensammlungen des zusammengesetzten Geräts aufzählt. Dazu muss der Hersteller des zusammengesetzten Geräts eine INF-Datei installieren, die der Geräte-ID des zusammengesetzten Geräts entspricht und explizit sowohl den generischen übergeordneten USB-Treiber als auch den Filtertreiber lädt.

Unterstützung für die Geräteklasse für drahtlose mobile Kommunikation

In Windows Vista bietet der generische übergeordnete USB-Treiber (Usbccgp.sys) Unterstützung für Geräte, die in der USB-Kommunikationsgeräteklasse (CDC) (Universal Serial Bus) und der usb Wireless Mobile Communication Device Class (WMCDC) enthalten sind.

Die Usb Wireless Mobile Communication Device Class (WMCDC)-Spezifikation legt einen Standard für die Verbindung, Steuerung und den Austausch von Inhalten zwischen einem Host und einem drahtlosen mobilen Gerät (z. B. einem Mobiltelefon) fest, wenn das Gerät an einen USB-Anschluss angeschlossen ist. WMCDC ist eine Erweiterung der Kommunikationsgeräteklasse (Communication Device Class, CDC), die eine breite Palette von Kommunikations- und Netzwerkgeräten umfasst. In diesem Abschnitt wird die Architektur beschrieben, die CDC- und WMCDC-Geräte unter Windows-Betriebssystemen unterstützt.

WMCDC-Geräte bestehen aus mehreren Funktionen, die in logischen Handsets gruppiert sind. Die meisten WMCDC-Geräte verfügen über ein einzelnes logisches Mobilteil, aber ein Gerät kann über mehrere logische Handsets verfügen. Logische Handsets umfassen in der Regel Funktionen wie ein Daten-/Faxmodem, einen Objektspeicher und eine Anrufsteuerungsfunktion. Ein logisches Mobilteil kann auch unterstützende Funktionen enthalten, die durch andere USB-Spezifikationen definiert werden, z. B. die USB Audio Class-Spezifikation, die SPEZIFIKATION des USB Human Input Device (HID) und die USB Video Class-Spezifikation.

Die Windows WMCDC-Architektur verwendet native Windows-Treiber, um die Funktionen Ihres WMCDC-Geräts zu verwalten. Sie können beispielsweise das Windows-Subsystem TAPI (Application Program Interface) verwenden, um die Sprach- und Daten-/Faxmodemfunktionen Ihres Geräts und das NDIS-Subsystem (Windows Network Driver Interface Specification) zu verwalten, um die Ethernet-LAN-Funktion des Geräts zu verwalten. Darüber hinaus können Sie einige Funktionen, z. B. eine ObEX-Funktion (Object Exchange Protocol) mit Hilfe von WinUSB (Winusb.sys) in Benutzermodussoftware verwalten.

Diese Abbildung zeigt einen Beispieltreiberstapel für ein WMCDC-Gerät.

Diagramm einer Beispielgerätekonfiguration und eines Treiberstapels.

In der obigen Abbildung enthält das WMCDC-Gerät ein einzelnes logisches Mobilteil: eine OBEX-Funktion und eine Modemfunktion. Eine vom Hersteller bereitgestellte INF-Datei lädt native Windows-Treiber zum Verwalten des Modems. Die OBEX-Funktion wird von einem vom Anbieter bereitgestellten Benutzermodustreiber verwaltet, der im User-Mode Driver Framework (UMDF) ausgeführt wird. Der Benutzermodustreiber verwendet das WPD-Protokoll (Windows Portable Devices), um mit Benutzeranwendungen und der Schnittstelle zu kommunizieren, die winUSB exportiert, um mit dem USB-Stapel zu kommunizieren. Im Allgemeinen lädt eine vom Anbieter bereitgestellte INF-Datei eine separate instance von Winusb.sys für jede Schnittstellensammlung, die Winusb.sys verwendet.

Registrierungseinstellungen

Der USB-Stapel unterstützt WMCDC nicht automatisch. Sie müssen eine INF-Datei bereitstellen, die eine instance von Usbccgp.sys lädt. Die INF-Datei muss einen AddReg-Abschnitt enthalten, der den Registrierungswert EnumeratorClass im Softwareschlüssel festlegt, der Usbccgp.sys einem REG_BINARY Wert zugeordnet ist, der aus drei Zahlen erstellt wird: 0x02, 0x00 und 0x 00. Das folgende Codebeispiel aus einer BEISPIEL-INF-Datei veranschaulicht, wie EnumeratorClass auf den entsprechenden Wert festgelegt wird.

[CCGPDriverInstall.NT]
Include=usb.inf
Needs=Composite.Dev.NT
AddReg=CCGPDriverInstall.AddReg

[CCGPDriverInstall.NT.Services]
Include=usb.inf
Needs=Composite.Dev.NT.Services

[CCGPDriverInstall.AddReg]
HKR,,EnumeratorClass, 0x00000001,02,00,00

Der Wert, den Sie EnumeratorClass zuweisen müssen, wird aus drei 1-Byte-Binärwerten erstellt, die in der INF-Datei durch Paare von Hexadezimalstellen dargestellt werden: 02, 00 und 00. Diese drei Zahlen entsprechen den Werten, die das USB Implementers Forum der CDC-Geräteklasse, der CDC-Geräteunterklasse bzw. dem CDC-Geräteprotokoll zugewiesen hat.

In den folgenden Themen wird das WMCDC weiter beschrieben:

Auflisten von Schnittstellensammlungen in WMCDC

Die Usb Wireless Mobile Communication Device Class (WMCDC) ist eine Unterklasse der USB-Kommunikationsgeräteklasse (CDC). Die WMCDC-Spezifikation erweitert die CDC-Richtlinien zum Definieren von Schnittstellensammlungen, ändert aber nicht wesentlich. Insbesondere müssen WMCDC-Geräte die CDC-Richtlinien zum Definieren von Schnittstellensammlungen erfüllen.

CDC-Schnittstellensammlungen enthalten eine master-Schnittstelle (USB_INTERFACE_DESCRIPTOR), die zur Kommunikationsschnittstellenklasse (bInterfaceClass = 0x02) oder Datenschnittstellenklasse (bInterfaceClass = 0x0A) gehört. Wenn die master-Schnittstelle zur Kommunikationsschnittstellenklasse gehört (was die typische Situation ist), gibt die Unterklasse der master-Schnittstelle (bInterfaceSubClass) ein CDC-Steuerungsmodell an. Das Steuerelementmodell gibt den Typ der Schnittstellen an, die in der Schnittstellenauflistung enthalten sind. Eine Beschreibung der Steuerungsmodelle, die das USB Implementers-Forum definiert, finden Sie in der CDC-Spezifikation und in der WMCDC-Spezifikation.

Auf die master Schnittstelle einer Schnittstellensammlung folgt eine Reihe von obligatorischen klassenspezifischen Funktionsdeskriptoren, einschließlich eines Union Functional Descriptors (UFD). Die UFD listet die Nummern der Schnittstellen auf, die zur Sammlung gehören. Das Feld bMasterInterface des UFD enthält die Nummer der master Schnittstelle. Null oder mehr bSubordinateInterface-Felder enthalten die Nummern der anderen (untergeordneten) Schnittstellen in der Auflistung.

Für die meisten Arten von Steuerelementmodellen erstellt der generische übergeordnete USB-Treiber (Usbccgp.sys) ein physisches Geräteobjekt (PDO) für jeden UFD. Einige Steuerungsmodelle enthalten jedoch eine Audioschnittstelle, die der generische übergeordnete Treiber getrennt von der Schnittstellensammlung aufzählt, zu der die Audioschnittstelle gehört. Die Audioschnittstelle wird in der Liste der untergeordneten Schnittstellen (bSubordinateInterface) im UFD der Schnittstellensammlung angezeigt, aber der generische übergeordnete Treiber erstellt eine separate PDO für die Audioschnittstelle. Sowohl das PDO für die Audioschnittstelle als auch das PDO für die Schnittstellensammlung, zu der die Audioschnittstelle gehört, befinden sich direkt über dem funktionalen Geräteobjekt (Functional Device Object, FDO) des übergeordneten zusammengesetzten Geräts in der Geräteobjektstruktur. Der PDO der Audioschnittstelle ist kein untergeordnetes Element der Schnittstellensammlung.

Es gibt zwei Steuerungsmodelle, deren Enumerationseigenschaften in der Registrierung konfigurierbar sind: das Wireless-Handset-Steuerelementmodell (WHCM), das ein logisches Handset definiert, und das OBJEKT-Exchange-Protokoll (OBEX)-Steuerelementmodell. Um die Enumerationsmerkmale dieser beiden Steuerelementmodelle zu konfigurieren, müssen Sie eine INF-Datei bereitstellen, die eine instance von Usbccgp.sys lädt und den Wert von CdcFlags im Softwareschlüssel für diesen instance von Usbccgp.sys festlegt. In der folgenden Tabelle werden die Konfigurationsoptionen von CdcFlags beschrieben.

CdcFlags-Bit Bit auf 0 festgelegt Bit auf 1 festgelegt
0 (Maske = 0x00000001) Der generische übergeordnete USB-Treiber erstellt eine separate PDO für jede OBEX-Schnittstelle. Der generische übergeordnete USB-Treiber erstellt eine einzelne PDO für alle OBEX-Schnittstellen.
1 (Maske = 0x00000010) Der generische übergeordnete USB-Treiber erstellt keine PDOs für WHCM-Schnittstellen (logische Handsets). Diese Schnittstellen bleiben aus sicht der Geräteobjektstruktur verborgen. Der generische übergeordnete USB-Treiber erstellt ein PDO für jede WHCM-Schnittstelle.

Um beispielsweise beide Bits zu löschen (auf 0 festzulegen), sollte Ihre INF-Datei die folgende Zeile in einem Abschnitt DDInstall.AddReg aufweisen.

HKR, , CdcFlags, 0x00010001, 0x00000000

Um beide Bits auf 1 festzulegen, sollte Ihre INF-Datei die folgende Zeile aufweisen.

HKR, , CdcFlags, 0x00010001, 0x00000011

Zum Festlegen von Bit 0 auf 1 und Bit 1 bis 0 sollte Ihre INF-Datei die folgende Zeile aufweisen.

HKR, , CdcFlags, 0x00010001, 0x00000001

Beide Bits können unabhängig vom anderen Bit festgelegt oder zurückgesetzt werden.

Die folgenden Abbildungen veranschaulichen, wie verschiedene Registrierungskonfigurationen unterschiedliche Gerätestrukturen für dasselbe Gerät erstellen können.

Die folgende Abbildung veranschaulicht die PDO-Konfiguration, wenn sowohl Bit 0 als auch Bit 1 von CdcFlags 0 sind.

Diagramm, das eine Schnittstellensammlung zu Geräteobjektzuordnung für CdcFlags = 0x00000000 veranschaulicht.

Die WHCM-Schnittstellensammlung (Wireless Handset Control Model) in der vorherigen Abbildung enthält drei untergeordnete Schnittstellensammlungen (bSubordinateInterface): zwei OBEX-Sammlungen und eine Modemsammlung. Bit 0 des CdcFlags ist 0, sodass der generische übergeordnete USB-Treiber keinen PDO für die WHCM-Schnittstellensammlung erstellt. Bit 1 des CdcFlags ist 0. Daher generiert der generische übergeordnete USB-Treiber eine separate PDO für jede OBEX-Schnittstellensammlung.

Die folgende Abbildung veranschaulicht die PDO-Konfiguration, wenn sowohl Bit 0 als auch Bit 1 von CdcFlags festgelegt sind.

Diagramm, das eine Schnittstellensammlung zur Geräteobjektzuordnung für CdcFlags = 0x00010001 veranschaulicht.

Da Bit 0 von CdcFlags auf 1 festgelegt ist, erstellt der generische übergeordnete USB-Treiber einen PDO für die WHCM-Schnittstellensammlung. Da Bit 1 von CdcFlags auf 1 festgelegt ist, gruppiert der generische übergeordnete USB-Treiber die beiden OBEX-Sammlungen zusammen und generiert eine einzelne PDO für beide OBEX-Sammlungen.

Sie können OBEX-Sammlungen mit einem einzelnen PDO auf Kernelebene darstellen und zwischen jeder einzelnen OBEX-Sammlung innerhalb eines Benutzermodustreibers unterscheiden. Das WPD-Protokoll (Windows Portable Devices) kann Ihnen beim Multiplexdatenstrom zwischen verschiedenen OBEX-Funktionen auf Benutzerebene helfen, wenn alle OBEX-Funktionen auf Kernelebene in einem einzelnen PDO gruppiert sind.

Die folgende BEISPIEL-INF-Datei lädt den generischen übergeordneten USB-Treiber zum Verwalten eines WMCDC-Geräts und weist das generische übergeordnete USB-Element an, PDOs für logische Handsets zu erstellen und eine einzelne PDO für alle OBEX-Sammlungen im logischen Mobilteil zu erstellen.

[Version]
Signature="$Windows NT$"
Class=USB
ClassGUID={36FC9E60-C465-11CF-8056-444553540000}
Provider=%MSFT%
DriverVer=07/01/2001,5.1.2600.0
CatalogFile=ExampleCatalog.cat
PnpLockdown=1

[ControlFlags]
ExcludeFromSelect=*

[Manufacturer]
CompanyName=CompanyName,NTamd64

[CompanyName.NTamd64]
%COMPANYNAME.DeviceDesc%=CCGPDriverInstall,USB\Vid_????&Pid_????

[CCGPDriverInstall.NT]
Include=usb.inf
Needs=Composite.Dev.NT
AddReg=CCGPDriverInstall.AddReg

[CCGPDriverInstall.NT.Services]
Include=usb.inf
Needs=Composite.Dev.NT.Services

[CCGPDriverInstall.AddReg]
HKR,,EnumeratorClass,0x00000001,02,00,00
HKR,,CdcFlags,0x00010001,0x00010001

[Strings]
MSFT="Microsoft"
COMPANYNAME.DeviceDesc="USB Phone Parent"

Behandeln von CDC- und WMCDC-Schnittstellensammlungen

Der generische übergeordnete USB-Treiber verarbeitet whCM-Schnittstellen (Wireless Handset Control Model) auf besondere Weise.

In der folgenden Liste sind die wichtigsten Methoden zusammengefasst, in denen sich die Behandlung von CDC- und WMCDC-Schnittstellensammlungen von anderen Schnittstellensammlungen unterscheidet:

  • Die Geräteklasse für drahtlose mobile Kommunikation ermöglicht eine begrenzte Menge an Schachtelung von Schnittstellensammlungen. Insbesondere kann eine Sammlung logischer Handsetschnittstellen (d. h. eine WHCM-Schnittstellensammlung) andere untergeordnete Schnittstellensammlungen enthalten. Beispielsweise kann ein WMCDC-kompatibles Telefon über eine WHCM-Schnittstellensammlung verfügen, die wiederum eine abstrakte Steuerelementmodellsammlung und eine OBEX-Auflistung enthält.
  • Sie können den generischen übergeordneten USB-Treiber so konfigurieren, dass WHCM-Schnittstellensammlungen nicht aufgelistet werden. WHCM-Schnittstellensammlungen, die nicht aufgelistet sind, bleiben ausgeblendet, aber der generische übergeordnete Treiber verwendet Informationen aus den Union-Funktionsdeskriptoren (UFDs), die zu einer WHCM-Schnittstellensammlung gehören, um untergeordnete Schnittstellensammlungen zu gruppieren und aufzulisten.
  • Sie können den generischen übergeordneten USB-Treiber konfigurieren, um separate physische Geräteobjekte (PDOs) für OBEX-Steuerelementmodellschnittstellensammlungen zu erstellen oder eine einzelne PDO für alle OBEX-Steuerelementmodellschnittstellensammlungen zu erstellen.
  • Die Liste der Schnittstellennummern in einer UFD kann Lücken aufweisen. Das heißt, die Schnittstellennummern einer UFD können auf Schnittstellen verweisen, die nicht zusammenhängend sind. Diese Art der Nummerierung ist beispielsweise für den USB Interface Association Descriptor (IAD) ungültig, dessen Schnittstellen zusammenhängend sein müssen und sequenzielle Nummern aufweisen müssen.
  • UFDs können verwandte Audioschnittstellensammlungen enthalten.
  • Hardwarebezeichner (IDs) für CDC- und WMCDC-Schnittstellensammlungen müssen die Schnittstellenunterklasse enthalten. Andere USB-Schnittstellen, deren Hardware-IDs ein MI_%02X-Suffix enthalten, das die Schnittstellennummer angibt, enthalten keine Informationen zur Schnittstellenunterklasse. Die Unterklasseninformationen sind in der Hardware-ID enthalten, damit Anbieter INF-Dateien mit Hardware-ID-Übereinstimmungen für bestimmte Schnittstellensammlungen bereitstellen können, anstatt sich auf die Position der Schnittstelle im Deskriptorlayout zu verlassen, um zu bestimmen, welcher Treiber für die Sammlung geladen werden soll. Die Unterklasseninformationen in der Hardware-ID ermöglichen auch einen schrittweisen Migrationspfad von aktuellen vom Anbieter bereitgestellten Treibern, die WMCDC-Schnittstellensammlungen verwalten, zu Alternativen, z. B. Benutzermodustreibern. Eine allgemeine Diskussion darüber, wie HARDWARE-IDs der USB-Schnittstelle formatiert werden, finden Sie unter Bezeichner für USB-Geräte.

CDC- und WMCDC-Steuerungsmodelle

Im Abschnitt CDC- und WMCDC-Steuerungsmodelle werden die Eigenschaften von Schnittstellensammlungen beschrieben, die in Microsoft Windows-Betriebssystemen unterstützt werden. Jede Beschreibung enthält unter anderem eine Liste von Hardware- und Gerätebezeichnern (IDs), die der generische übergeordnete USB-Treiber für die Schnittstellensammlung generiert.

Die meisten von Windows unterstützten Schnittstellensammlungen entsprechen Steuerungsmodellen, die der Kommunikationsgeräteklasse (Communication Device Class, CDC) und der Mobilen Geräteklasse (Wireless Mobile Communication Device Class, WMCDC) gehören, aber das Betriebssystem unterstützt auch ältere Audio- und Videoschnittstellensammlungen sowie eine Vom Mobile Computing Promotion Consortium (MCPC) definierte Schnittstellensammlung.

In diesem Abschnitt werden die folgenden Schnittstellensammlungen beschrieben:

Audioklassenschnittstellen

Usb Audio Device-Klassenschnittstellensammlungen, die auf CDC- und WMCDC-Geräten auftreten, weisen die folgenden Eigenschaften auf.

Eigenschaft BESCHREIBUNG
Verweis Universal Serial Bus Device Class Definition für Audiogeräte, Version 1.0.
Klasse Alle Schnittstellen in der Schnittstellensammlung müssen zur Audiogeräteklasse (0x01) gehören.
Unterklasse Jede Schnittstelle in der Schnittstellenauflistung muss über eine andere Unterklasse als die erste Schnittstelle in der Auflistung verfügen.
Protocol Keine (0x00).
Enumerated Ja.
Verwandte Schnittstellen Null oder mehr zusammenhängende Schnittstellen, die zur Streamingunterklasse gehören (0x02).
Hardware-IDs USB\Vid_%04x&Pid_%04x&Rev_%04x&MI_%02x
USB\Vid_%04x&Pid_%04x&MI_%02x

Die Hardware-IDs für Audioschnittstellensammlungen enthalten keine schnittstellenklassenspezifischen Informationen.
Kompatible IDs USB\Class_01&SubClass_01&Prot_00
USB\Class_01&SubClass_01
USB\Class_01

Das Format kompatibler IDs für Audioschnittstellensammlungen enthält eingebettete Informationen zur Schnittstellenklasse, Schnittstellenunterklasse und zum Protokoll. Bei Audioschnittstellensammlungen auf einem CDC- oder WMCDC-Gerät ist die Schnittstellenklasse 01, die Unterklasse 01 und das Protokoll 00.

CDC Abstraktes Steuerelementmodell

Es gibt zwei Versionen des Abstrakten Steuerelementmodells (ACM). Die ursprüngliche Version ist in der CDC-Spezifikation (USB Communication Device Class ) definiert. Die Spezifikation für usb Wireless Mobile Communication Device Class (WMCDC) enthält eine erweiterte Definition des ACM.

Schnittstellensammlungen, die der WMCDC-Spezifikation entsprechen, werden auf dieser Seite beschrieben.

Schnittstellensammlungen, die der CDC-Spezifikation entsprechen, weisen die folgenden Eigenschaften auf.

Eigenschaft BESCHREIBUNG
Verweis Universal Serial Bus-Klassendefinitionen für Kommunikationsgeräte, Version 1.1, Abschnitt 3.6.2.
Klasse der master-Schnittstelle Kommunikationsschnittstellenklasse (0x02).
Unterklasse der master-Schnittstelle ACM (0x02).
Protocol Alle.
Enumerated Ja.
Verwandte Schnittstellen Eine Datenklassenschnittstelle und optionale Audioklassenschnittstellen, auf die der Union Functional Descriptor (UFD) verweist.
Hardware-IDs USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_02&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_02
USB\Vid_%04x&Pid_%04x&Cdc_02&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_02
Kompatible IDs USB\Class_02&SubClass_02&Prot_%02X
USB\Class_02&SubClass_02
USB\Class_02
Spezielle Handhabung Die UFD kann auf eine Audioschnittstellensammlung verweisen, die unabhängig von der ACM-Schnittstellensammlung aufgezählt wird.

CDC ATM-Netzwerksteuerungsmodell

ANCM-Schnittstellensammlungen (USB CDC ATM Networking Control Model) weisen die folgenden Eigenschaften auf.

Eigenschaft BESCHREIBUNG
Verweis Universelle serielle Busklassendefinitionen für Kommunikationsgeräte, Version 1.1, Abschnitt 3.8.3
Klasse der master-Schnittstelle Communication Interface Class (0x02)
Unterklasse der master-Schnittstelle ANCM (0x07)
Protocol Keine (0x00)
Enumerated Yes
Verwandte Schnittstellen Eine Datenklassenschnittstelle, auf die vom Union Functional Descriptor (UFD) verwiesen wird
Hardware-IDs USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_07&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_07
USB\Vid_%04x&Pid_%04x&Cdc_07&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_07
Kompatible IDs USB\Class_02&SubClass_07&Prot_00
USB\Class_02&SubClass_07
USB\Class_02
Spezielle Handhabung Keine

CDC CAPI-Steuerelementmodell

Usb CDC Common ISDN API (CAPI) Control Model-Schnittstellensammlungen weisen die folgenden Eigenschaften auf.

Eigenschaft BESCHREIBUNG
Verweis Universelle serielle Busklassendefinitionen für Kommunikationsgeräte, Version 1.1, Abschnitt 3.7.2
Klasse der master-Schnittstelle Communication Interface Class (0x02)
Unterklasse der master-Schnittstelle CAPI (0x05)
Protocol Keine (0x00)
Enumerated Yes
Verwandte Schnittstellen Eine Datenklassenschnittstelle, auf die der Union Functional Descriptor (UFD) verweist.
Hardware-IDs USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_05&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_05
Kompatible IDs USB\Class_02&SubClass_05&Prot_00
USB\Class_02&SubClass_05
Spezielle Handhabung Keine

CDC-Direktleitungssteuerungsmodell

Usb CDC Direct Line Control Model (DLCM)-Schnittstellensammlungen verfügen über die folgenden Eigenschaften.

Eigenschaft BESCHREIBUNG
Verweis Universal Serial Bus-Klassendefinitionen für Kommunikationsgeräte, Version 1.1, Abschnitt 3.6.1.
Klasse der master-Schnittstelle Kommunikationsschnittstellenklasse (0x02).
Unterklasse der master-Schnittstelle DLCM (0x01).
Protocol Keine (0x00).
Enumerated Ja.
Verwandte Schnittstellen Audioklasse oder vom Hersteller definierte Schnittstellen, auf die der Union Functional Descriptor (UFD) verweist.
Hardware-IDs USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_01&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_01
USB\Vid_%04x&Pid_%04x&Cdc_01&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_01
Kompatible IDs USB\Class_02&SubClass_01&Prot_00
USB\Class_02&SubClass_01``USB\Class_02
Spezielle Handhabung Der UFD verweist auf eine Sammlung von Audioklassenschnittstellen, die unabhängig von der DLCM-Schnittstellensammlung aufgezählt wird.

CDC Ethernet-Netzwerksteuerungsmodell

Usb CDC Ethernet Networking Control Model (ENCM) Schnittstellensammlungen verfügen über die folgenden Eigenschaften.

Eigenschaft BESCHREIBUNG
Verweis Universelle serielle Busklassendefinitionen für Kommunikationsgeräte, Version 1.1, Abschnitt 3.8.2.
Klasse der master-Schnittstelle Kommunikationsschnittstellenklasse (0x02).
Unterklasse der master-Schnittstelle ENCM (0x06).
Protocol Keine (0x00).
Enumerated Ja.
Verwandte Schnittstellen Eine Datenklassenschnittstelle, auf die der Union Functional Descriptor (UFD) verweist.
Hardware-IDs USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_06&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_06
USB\Vid_%04x&Pid_%04x&Cdc_06&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_06
Kompatible IDs USB\Class_02&SubClass_06&Prot_00
USB\Class_02&SubClass_06
USB\Class_02
Spezielle Handhabung Die kompatiblen IDs dieses Steuerelementmodells weisen eine Übereinstimmung in einer von Microsoft bereitgestellten INF-Datei auf. Wenn das Betriebssystem keine Übereinstimmung für eine der Hardware-IDs in einer vom Anbieter bereitgestellten INF-Datei findet, lädt das System automatisch den nativen NDIS-Miniporttreiber, um die Schnittstellensammlung zu verwalten.

CDC-Mehrkanal-ISDN-Steuerungsmodell

USB CDC-Schnittstellensammlungen mit mehreren Kanälen des ISDN-Steuerelementmodells (MCCM) weisen die folgenden Eigenschaften auf.

Eigenschaft BESCHREIBUNG
Verweis Universelle serielle Busklassendefinitionen für Kommunikationsgeräte, Version 1.1, Abschnitt 3.7.1
Klasse der master-Schnittstelle Communication Interface Class (0x02)
Unterklasse der master-Schnittstelle MCCM (0x04)
Protocol Keine (0x00)
Enumerated Yes
Verwandte Schnittstellen Mehrere Datenklassenschnittstellen, auf die der Union Functional Descriptor (UFD) verweist.
Hardware-IDs USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_04&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_04
USB\Vid_%04x&Pid_%04x&Cdc_04&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_04
Kompatible IDs USB\Class_02&SubClass_04&Prot_00
USB\Class_02&SubClass_04
USB\Class_02
Spezielle Handhabung Keine

CDC Telefonsteuerungsmodell

Usb CDC Telefonsteuerungsmodell (TCM)-Schnittstellensammlungen verfügen über die folgenden Eigenschaften.

Eigenschaft BESCHREIBUNG
Verweis Universal Serial Bus-Klassendefinitionen für Kommunikationsgeräte, Version 1.1, Abschnitt 3.6.3.
Klasse der master-Schnittstelle Kommunikationsschnittstellenklasse (0x02).
Unterklasse der master-Schnittstelle TCM (0x03).
Protocol Alle.
Enumerated Ja.
Verwandte Schnittstellen Audioklassenschnittstellen, auf die der Union Functional Descriptor (UFD) verweist.
Hardware-ID USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_03&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_03
USB\Vid_%04x&Pid_%04x&Cdc_03&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_03
Kompatible ID USB\Class_02&SubClass_03&Prot_%02X
USB\Class_02&SubClass_03
USB\Class_02
Spezielle Handhabung Die UFD kann auf eine Sammlung von Audioklassenschnittstellen verweisen, die unabhängig von der TCM-Schnittstellensammlung aufgezählt wird.

VOM MCPC-Anbieter eindeutige Schnittstellen

Das Mobile Computing Promotion Consortium (MCPC) definierte ein Format für Schnittstellensammlungen, bevor die WMCDC-Spezifikation (Wireless Mobile Communication Device Class) ein Format für anbieterspezifische CDC-Geräte bereitstellte. Daher entsprechen MCPC-Schnittstellensammlungen nicht dem WMCDC-Standard.

Der generische übergeordnete USB-Treiber kann jedoch MCPC-Schnittstellensammlungen auflisten, wenn WMCDC aktiviert ist. MCPC-Schnittstellensammlungen verfügen über die folgenden Eigenschaften.

Eigenschaft BESCHREIBUNG
Verweis Mobile Computing Promotion Consortium (MCPC) GL-004-Spezifikation
Klasse CDC (0x02)
Unterklasse 0x88
Protocol Keine (0x00)
Enumerated Yes
Verwandte Schnittstellen Null oder mehr Datenklassenschnittstellen, auf die der Union Functional Descriptor (UFD) verweist
Hardware-IDs USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_88&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_88
USB\Vid_%04x&Pid_%04x&Cdc_88&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_88
Kompatible IDs USB\Class_02&SubClass_88&Prot_00
USB\Class_02&SubClass_88
USB\Class_02
Spezielle Handhabung Keine

Schnittstellen für Videoklassen

USB-Videogeräteklassen-Schnittstellensammlungen, die auf CDC- und WMCDC-Geräten auftreten, weisen die folgenden Eigenschaften auf.

Eigenschaft BESCHREIBUNG
Verweis Universal Serial Bus Device Class Definition für Videogeräte, Version 1.0.
Klasse Video (0x0E).
Unterklasse Videosteuerung (0x01).
Protocol Keine (0x00).
Enumerated Ja.
Verwandte Schnittstellen Null oder mehr zusammenhängende Schnittstellen, die zur Streamingunterklasse gehören (0x02).
Hardware-IDs USB\Vid_%04x&Pid_%04x&Rev_%04x&MI_%02x
USB\Vid_%04x&Pid_%04x&MI_%02x
Kompatible IDs USB\Class_0E&SubClass_01&Prot_00
USB\Class_0E&SubClass_01
USB\Class_0E
Spezielle Handhabung Videoklassenschnittstellensammlungen erhalten eine spezielle Behandlung auf CDC-Geräten. Auf Nicht-CDC-Geräten werden Videoklassenschnittstellensammlungen durch Schnittstellenzuordnungsdeskriptoren (Interface Association Descriptors, IADs) definiert. Auf CDC-Geräten werden Videoklassenschnittstellensammlungen durch Union Functional Descriptors (UFDs) definiert.

Abstraktes WMCDC-Steuerungsmodell

Es gibt zwei Versionen des abstrakten Steuerelementmodells (ACM). Die ursprüngliche Version ist in der CDC-Spezifikation (USB Communication Device Class) definiert. Die Spezifikation für usb Wireless Mobile Communication Device Class (WMCDC) enthält eine erweiterte Definition des ACM. ACM-Sammlungen, die eine Fax-/Modemfunktion enthalten, sollten die WMCDC-Definition von ACM anstelle der ursprünglichen CDC-ACM-Definition verwenden.

Schnittstellensammlungen, die der CDC-Spezifikation entsprechen, werden auf dieser Seite beschrieben.

Schnittstellensammlungen, die der WMCDC-Spezifikation entsprechen, verfügen über die folgenden Eigenschaften.

Eigenschaft BESCHREIBUNG
Verweis Universal Serial Bus CDC Subclass Specification for Wireless Mobile Communication Devices, Version 1.0, Abschnitt 6.2.
Klasse der master-Schnittstelle Kommunikationsschnittstellenklasse (0x02).
Unterklasse der master-Schnittstelle ACM (0x02).
Protocol Wenn die Auflistung ein AT-Befehlssatzprotokoll verwendet, wird der Protokollwert, der in die kompatiblen IDs eingebettet ist, 0x01. Wenn die Auflistung eines der Protokolle verwendet, die in der WMCDC-Spezifikation beschrieben werden, wird der Protokollwert, der in die kompatiblen IDs eingebettet ist, über 0x06 oder 0xFE 0x2.
Enumerated Ja.
Verwandte Schnittstellen Eine Datenklassenschnittstelle, auf die der Union Functional Descriptor (UFD) verweist.
Hardware-IDs USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_Modem&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_Modem
USB\Vid_%04x&Pid_%04x&Cdc_Modem&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_Modem
Kompatible IDs USB\Class_02&SubClass_Modem&Prot_%02X
USB\Class_02&SubClass_Modem
USB\Class_02
Spezielle Handhabung Die UFD kann auf eine Audioschnittstellensammlung verweisen, die unabhängig von der ACM-Schnittstellensammlung aufgezählt wird.

Schnittstellensammlungen müssen die speziellen Deskriptor- und Endpunktanforderungen erfüllen, die in Abschnitt 6.2 der WMCDC-Spezifikation angegeben sind. Wenn die Schnittstellensammlung nicht den WMCDC-Anforderungen entspricht, die Schnittstelle jedoch den CDC-Anforderungen entspricht, listet der generische übergeordnete USB-Treiber die Schnittstellensammlung und generische Hardware-IDs mit CDC-Formaten auf.

Die kompatiblen IDs dieses Steuerelementmodells weisen eine Übereinstimmung in einer von Microsoft bereitgestellten INF-Datei auf. Wenn das Betriebssystem keine Übereinstimmung für eine der Hardware-IDs in einer vom Anbieter bereitgestellten INF-Datei findet, lädt das System automatisch den TAPI-Modemfiltertreiber (Native Telephony Application Programming Interface), um die Modemfunktion zu verwalten, und legt die entsprechenden TAPI-Registrierungseinstellungen fest, es sei denn, der Protokollcode ist 0xFE. Wenn der Protokollcode 0xFE ist, muss der Anbieter ein Geräte- oder Klassen-Co-Installer bereitstellen, um die TAPI-Registrierungseinstellungen ordnungsgemäß aufzufüllen.

WMCDC-Geräteverwaltungsmodell

Usb WMCDC Device Management Model (DMM)-Schnittstellensammlungen verfügen über die folgenden Eigenschaften.

Eigenschaft BESCHREIBUNG
Verweis Universal Serial Bus CDC Subclass Specification for Wireless Mobile Communication Devices, Version 1.0, Abschnitt 6.6.
Klasse der master-Schnittstelle Kommunikationsschnittstellenklasse (0x02).
Unterklasse der master-Schnittstelle DMM (0x09).
Protocol Alle.
Enumerated Ja.
Verwandte Schnittstellen Keine.
Hardware-IDs USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_09&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_09
USB\Vid_%04x&Pid_%04x&Cdc_09&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_09
Kompatible IDs USB\Class_02&SubClass_09&Prot_%02X
USB\Class_02&SubClass_09
USB\Class_02
Spezielle Handhabung Dieses Steuerungsmodell verwendet keinen Union Functional Descriptor (UFD).

WMCDC Mobile Direct Line-Modell

USB WMCDC Mobile Direct Line Model (MDLM)-Schnittstellensammlungen verfügen über die folgenden Eigenschaften:

Eigenschaft BESCHREIBUNG
Verweis Universal Serial Bus CDC Subclass Specification for Wireless Mobile Communication Devices, Version 1.0, Abschnitt 6.7
Klasse der master-Schnittstelle Communication Interface-Klasse (0x02)
Unterklasse der master-Schnittstelle MDLM (0x0A)
Protocol Any
Enumerated Yes
Verwandte Schnittstellen Eine oder mehrere Datenklassenschnittstellen, auf die der Union Functional Descriptor (UFD) verweist
Hardware-IDs USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_0A&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_0A
USB\Vid_%04x&Pid_%04x&Cdc_0A&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_0A
Kompatible IDs USB\Class_02&SubClass_0A&Prot_%02X
USB\Class_02&SubClass_0A
USB\Class_02
Spezielle Handhabung Keine.

WMCDC OBEX-Steuerungsmodell (mehrere PDOs)

Es gibt zwei Möglichkeiten zum Aufzählen von OBEX-Schnittstellensammlungen (Object Exchange Protocol) Control Model: Der generische übergeordnete USB-Treiber kann alle OBEX-Schnittstellen gruppieren und ein einzelnes physisches Geräteobjekt (PDO) für alle OBEX-Schnittstellen erstellen, oder der übergeordnete Treiber kann eine separate PDO für jede OBEX-Schnittstelle erstellen.

Wenn der generische übergeordnete USB-Treiber jeder OBEX-Schnittstelle separate PDOs zuweist, weisen die PDOs die folgenden Eigenschaften auf.

Eigenschaft BESCHREIBUNG
Verweis Universal Serial Bus CDC Subclass Specification for Wireless Mobile Communication Devices, Version 1.0, Abschnitt 6.5.
Klasse der master-Schnittstelle Communication Interface-Klasse (0x02).
Unterklasse der master-Schnittstelle OBEX (0x0B).
Protocol Keine (0x00).
Enumerated Ja.
Verwandte Schnittstellen Eine Datenklassenschnittstelle, auf die der Union Functional Descriptor (UFD) verweist.
Hardware-IDs USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_0B&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_0B
USB\Vid_%04x&Pid_%04x&Cdc_0B&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_0B
Kompatible IDs USB\Class_02&SubClass_0B&Prot_00
USB\Class_02&SubClass_0B
USB\Class_02
Spezielle Handhabung Die Registrierungseinstellungen, die dem instance des generischen übergeordneten USB-Treibers zugeordnet sind, der das zusammengesetzte Gerät verwaltet, bestimmen, ob OBEX-Schnittstellen mit einem einzelnen PDO oder mehreren PDOs verwaltet werden.

WMCDC OBEX-Steuerungsmodell (single PDO)

Es gibt zwei Möglichkeiten zum Aufzählen von OBEX-Schnittstellensammlungen (Object Exchange Protocol): Der generische übergeordnete USB-Treiber kann alle OBEX-Schnittstellen gruppieren und ein einzelnes physisches Geräteobjekt (PDO) für alle OBEX-Schnittstellen erstellen, oder der übergeordnete Treiber kann eine separate PDO für jede OBEX-Schnittstelle erstellen.

Wenn der generische übergeordnete USB-Treiber allen OBEX-Schnittstellen ein einzelnes PDO zuweist, verfügt die PDO über die folgenden Eigenschaften.

Eigenschaft BESCHREIBUNG
Verweis Universal Serial Bus CDC Subclass Specification for Wireless Mobile Communication Devices, Version 1.0, Abschnitt 6.5.
Klasse der master-Schnittstelle Communication Interface-Klasse (0x02).
Unterklasse der master-Schnittstelle OBEX (0x0B).
Protocol Keine (0x00).
Enumerated Ja.
Verwandte Schnittstellen Eine Datenklassenschnittstelle, auf die der Union Functional Descriptor (UFD) verweist.
Hardware-IDs USB\Vid_%04x&Pid_%04x&Rev_%04x&WPD_OBEX&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&WPD_OBEX
USB\Vid_%04x&Pid_%04x&WPD_OBEX&MI_%02x
USB\Vid_%04x&Pid_%04x&WPD_OBEX
Kompatible IDs USB\Class_02&WPD_OBEX
USB\Class_02
Spezielle Handhabung Die Registrierungseinstellungen, die dem instance des generischen übergeordneten USB-Treibers zugeordnet sind, der das zusammengesetzte Gerät verwaltet, bestimmen, ob OBEX-Schnittstellen mit einem einzelnen PDO oder mehreren PDOs verwaltet werden. Eine Erläuterung der Registrierungseinstellungen, die angeben, wie der generische übergeordnete USB-Treiber OBEX-Schnittstellen aufzählt, finden Sie unter Enumeration von Schnittstellensammlungen auf USB-Verbundgeräten.

WMCDC Wireless Handset-Steuerungsmodell

Der generische übergeordnete USB-Treiber listet nicht immer WHCM-Schnittstellensammlungen (Wireless Handset Control Model) auf. Die Registrierungseinstellungen, die dem instance des generischen übergeordneten USB-Treibers zugeordnet sind, der die WHCM-Schnittstellensammlung verwaltet, bestimmen, ob der generische übergeordnete USB-Treiber ein physisches Geräteobjekt (PDO) für die Schnittstellensammlung erstellt oder nicht. Eine Erläuterung der Registrierungseinstellungen, die angeben, wie der generische übergeordnete USB-Treiber WHCM-Schnittstellen aufzählt, finden Sie unter Enumeration of Interface Collections on USB Composite Devices.

Auflistungen aufgezählter WHCM-Schnittstellen weisen die folgenden Eigenschaften auf.

Eigenschaft BESCHREIBUNG
Verweis Universal Serial Bus CDC Subclass Specification for Wireless Mobile Communication Devices, Version 1.0, Abschnitt 6.1.
Klasse der master-Schnittstelle Communication Interface-Klasse (0x02).
Unterklasse der master-Schnittstelle WHCM (0x08).
Protocol Keine (0x00).
Enumerated Ja.
Verwandte Schnittstellen Keine.
Hardware-IDs USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_08&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_08
USB\Vid_%04x&Pid_%04x&Cdc_08&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_08
Kompatible IDs USB\Class_02&SubClass_08&Prot_00
USB\Class_02&SubClass_08
USB\Class_02
Spezielle Handhabung Der Union Functional Descriptor (UFD) identifiziert Schnittstellen, die einem logischen Handset zugeordnet sind.

Die Hardware-ID-Formate in den vorherigen Themen beschreiben die folgenden Konventionen:

  • ein printf-Format in der C-Sprache stellt ganze Zahlen dar. Beispielsweise bedeutet "%04x" eine 4-stellige Hexadezimalzahl, "%02x" eine 2-stellige Hexadezimalzahl usw.
  • Die ganze Zahl, die auf die Zeichenfolge "Vid_" folgt, ist eine 4-stellige hexadezimale Darstellung des Anbietercodes, den das USB-Komitee (<www.usb.org>) dem Anbieter zuweist.
  • Die ganze Zahl, die auf die Zeichenfolge "Pid_" folgt, ist eine 4-stellige hexadezimale Darstellung des Produktcodes, den der Hersteller dem Gerät zuweist.
  • Die ganze Zahl, die auf die Zeichenfolge "Rev_" folgt, ist eine 4-stellige hexadezimale Darstellung der Revisionsnummer des Geräts.
  • Die ganze Zahl, die auf die Zeichenfolge "Cdc_" folgt, ist die Schnittstellenunterklasse.
  • Die ganze Zahl, die auf die Zeichenfolge "Prot_" folgt, ist die Protokollnummer.
  • Die ganze Zahl, die auf die Zeichenfolge "MI_" folgt, ist eine 2-stellige Hexadezimaldarstellung der Schnittstellennummer, die aus dem Feld bInterfaceNumber des Schnittstellendeskriptors extrahiert wird.

Enumeration von Schnittstellensammlungen auf USB-Geräten mit IADs

Wenn ein zusammengesetztes USB-Gerät über einen Schnittstellenzuordnungsdeskriptor (Interface Association Descriptor, IAD) in seiner Firmware verfügt, zählt Windows Schnittstellensammlungen auf, als ob jede Sammlung ein einzelnes Gerät wäre, und weist jeder Schnittstellensammlung ein einzelnes physisches Geräteobjekt (PDO) zu und ordnet hardware- und kompatible Bezeichner (IDs) dem PDO zu. Eine ausführliche Beschreibung der IADs finden Sie unter USB Interface Association Descriptor. In diesem Abschnitt werden die Hardware-IDs und kompatiblen IDs (IDs) beschrieben, die Schnittstellensammlungen zugewiesen sind, die einem IAD zugeordnet sind.

Hardware-IDs von USB-Geräten mit IADs

USB\VID_v(4)&PID_p(4)&Rev_r(4)&MI_z(2)

USB\VID_v(4)&PID_p(4)&MI_z(2)

In diesen Hardware-IDs

  • v(4) ist der vierstellige Anbietercode, den das USB-Komitee dem Anbieter zuweist und der aus dem Feld idVendor des Gerätedeskriptors extrahiert wird.
  • p(4) ist der vierstellige Produktcode, den der Hersteller dem Gerät zuweist und der aus dem Feld idProduct des Gerätedeskriptors extrahiert wird.
  • r(4) ist die vierstellige Gerätefreigabenummer in binärcodierter Dezimalrevision, die der Hersteller dem Gerät zuweist und die aus dem Feld bcdDevice des Gerätedeskriptors extrahiert wird.
  • z(2) ist die zweistellige Schnittstellennummer, die aus dem Feld bFirstInterface von IAD extrahiert wird.

Kompatible IDs von USB-Geräten mit IADs

USB\Class_c(2)&SubClass_s(2)&Prot_p(2)

USB\Class_c(2)&SubClass_s(2)

USB\Class_c(2)

In diesen kompatiblen IDs enthalten c(2), s(2) und p(2) Werte, die jeweils aus den Feldern bFunctionClass, bFunctionSubClass und bFunctionProtocol des IAD übernommen werden.

Sie können IADs nicht rekursiv verwenden, um Funktionen von Funktionen zu binden. Insbesondere wenn ein Gerät IAD-Deskriptoren in seiner Firmware enthält, gruppiert der generische übergeordnete Treiber Schnittstellen nicht nach Audiogeräteklasse, wie unter Enumeration of Interface Collections on USB Composite Devices beschrieben.

Enumeration von Schnittstellensammlungen auf Audiogeräten ohne IADs

Für Audiogeräte kann das Windows-Betriebssystem Gruppen von Schnittstellen (Schnittstellensammlungen) aufzählen, die einer Funktion zugeordnet sind, und jeder Gruppe ein einzelnes physisches Geräteobjekt (PDO) zuweisen, auch wenn das Gerät keinen Schnittstellenzuordnungsdeskriptor (Interface Association Descriptor, IAD) aufweist.

Das Betriebssystem gruppiert die Schnittstellen zusammengesetzter Audiogeräte in Schnittstellensammlungen, wenn die Schnittstellen die folgenden Bedingungen erfüllen:

  • Alle Schnittstellen in der Schnittstellensammlung müssen aufeinander folgen. Anders ausgedrückt: Die Schnittstellen müssen im Firmwarespeicher nebeneinander stehen.
  • Alle Schnittstellen in der Schnittstellensammlung müssen zur Audiogeräteklasse gehören. Der Gerätehersteller gibt an, dass eine Schnittstelle zur Audiogeräteklasse gehört, indem dem Feld bInterfaceClass des Schnittstellendeskriptors der Wert 0x01 zugewiesen wird.
  • Jede Schnittstelle in der Schnittstellenauflistung muss über eine andere Unterklasse als die erste Schnittstelle in der Auflistung verfügen. Das Feld bInterfaceSubClass des Schnittstellendeskriptors gibt die Geräteunterklasse der Schnittstelle an.

Wenn eine Schnittstelle nicht alle dieser drei Bedingungen erfüllt, versucht Windows, sie separat aufzulisten, anstatt sie mit den anderen Audioklassenschnittstellen zu gruppieren.

Das Betriebssystem gruppiert Audioklassenschnittstellen nicht auf besondere Weise, wenn in der Gerätefirmware ein Schnittstellenzuordnungsdeskriptor (Interface Association Descriptor, IAD) vorhanden ist. Die IAD-Methode ist immer die bevorzugte Methode zum Gruppieren von USB-Schnittstellen.

In diesem Abschnitt werden Hardware und kompatible IDs beschrieben, die dem vom Betriebssystem erstellten PDO für eine Schnittstellensammlung zugeordnet sind, deren Schnittstellen zur Audiogeräteklasse gehören.

Hardware-IDs von Audiogeräten ohne IADs

USB\VID_v(4)&PID_p(4)&Rev_r(4)&MI_z(2)

USB\VID_v(4)&PID_p(4)&MI_z(2)

In diesen Hardware-IDs

  • v(4) ist der vierstellige Anbietercode, den das USB-Standardskomitee dem Anbieter zuweist und der aus dem Feld idVendor des Gerätedeskriptors extrahiert wird.
  • p(4) ist der vierstellige Produktcode, den der Hersteller dem Gerät zuweist und der aus dem Feld idProduct des Gerätedeskriptors extrahiert wird.
  • r(4) ist die vierstellige Gerätefreigabenummer in binärcodierter Dezimalrevision, die der Hersteller dem Gerät zuweist und die aus dem Feld bcdDevice des Gerätedeskriptors extrahiert wird.
  • z(2) ist die zweistellige Schnittstellennummer, die aus dem Feld bInterfaceNumber des Schnittstellendeskriptors extrahiert wird.

Kompatible IDs von Audiogeräten ohne IADs

USB\Class_c(2)&SubClass_s(2)&Prot_p(2)

USB\Class_c(2)&SubClass_s(2)

USB\Class_c(2)

In diesen kompatiblen IDs enthalten c(2), s(2) und p(2) Werte, die jeweils aus den Feldern bInterfaceClass, bInterfaceSubClass und bInterfaceProtocol des ersten USB-Schnittstellendeskriptors in jeder Schnittstellensammlung übernommen werden.