Übersicht über die Aufzählung von Schnittstellensammlungen auf USB-Verbundgerä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 aufzählen.
Diese vier Methoden der Enumeration von Schnittstellensammlungen werden hierarchisch auf folgende Weise angeordnet:
Vom Anbieter bereitgestellte Rückrufroutinen
Wenn der Anbieter eine Rückrufroutine mit dem generischen übergeordneten USB-Treiber (Usbccgp.sys) registriert hat, hat der generische übergeordnete Treiber Vorrang vor der Rückrufroutine und ermöglicht es der Rückrufroutine, Schnittstellen zu gruppieren, anstatt eine andere Methode zu verwenden. Weitere Informationen zur Aufzählung der Schnittstellensammlung mithilfe von vom Anbieter bereitgestellten Rückrufroutinen finden Sie unter Enumeration of Interface Collections on USB Composite Devices.
Funktionsdeskriptoren der Union
. Wenn der Anbieter die CDC- und WMCDC-Aufzählung im generischen übergeordneten USB-Treiber aktiviert hat, verwendet der generische übergeordnete Treiber Union-Funktionsdeskriptoren (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.
Schnittstellenzuordnungsdeskriptoren
Wenn Schnittstellenzuordnungsdeskriptoren (IADs) vorhanden sind, gruppiert der generische übergeordnete USB-Treiber schnittstellen immer mithilfe von IADs und nicht mithilfe von Legacymethoden. Microsoft empfiehlt, dass Anbieter IADs verwenden, um Schnittstellensammlungen zu definieren.
Legacy-Audiomethode
Der generische übergeordnete USB-Treiber kann Schnittstellensammlungen mit älteren Techniken aufzählen, 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 der USB Interface Association Descriptor (IAD) nicht beschreiben kann. In Windows Vista und späteren 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 von benutzerdefinierten Schnittstellensammlungen für das Gerät.
Damit der generische übergeordnete Treiber benutzerdefinierte Schnittstellensammlungen definiert, muss der Anbieter des zusammengesetzten Geräts:
- Implementieren Sie die Enumerationsrückrufroutine (USBC_START_DEVICE_CALLBACK).
- Stellen Sie einen Zeiger auf die Rückrufroutine in der USB-Gerätekonfigurationsschnittstelle (StartDeviceCallback-Element von USBC_DEVICE_CONFIGURATION_INTERFACE_V1) bereit.
- Stellen Sie eine INF-Datei bereit, die der Geräte-ID des zusammengesetzten Geräts entspricht, und lädt sowohl den generischen USB-Treiber als auch den Filtertreiber explizit.
Überlegungen zur Implementierung
Der Filtertreiber, der die Enumerationsrückrufroutine enthält, kann entweder ein oberer oder ein niedrigerer Filtertreiber sein. Wenn der generische USB-Treiber eine IRP_MN_START_DEVICE Anforderung zum Starten eines zusammengesetzten Geräts empfängt, fragt er die USB-Gerätekonfigurationsschnittstelle ab, indem eine IRP_MN_QUERY_INTERFACE Anforderung an den Anfang des Treiberstapels gesendet wird.
Beim Empfangen einer IRP_MN_QUERY_INTERFACE Anforderung muss der Filtertreiber den GUID-Typ im InterfaceType-Element der Anforderung überprüfen, um zu überprüfen, ob die angeforderte Schnittstelle vom Typ USB_BUS_INTERFACE_USBC_CONFIGURATION_GUID ist. Ist dies der Fehler, gibt der Filtertreiber einen Zeiger auf die Schnittstelle im Interface-Element 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), das die Schnittstellenauflistung beschreibt. Die Rückrufroutine muss sowohl die Funktionsdeskriptoren als auch die Schnittstellendeskriptoren aus nicht ausgelagerten Pool zuordnen. Der generische übergeordnete Treiber gibt diesen Speicher frei. Die Rückrufroutine muss sicherstellen, dass das NumberOfInterfaces-Element jedes USB_INTERFACE_DESCRIPTOR die Anzahl der Schnittstellen in der Schnittstellenauflistung genau meldet.
Der generische übergeordnete Treiber erstellt ein physisches Geräteobjekt (PDO) für jeden Funktionsdeskriptor.
Die USB-Gerätekonfigurationsschnittstelle und die Enumerationsrückrufroutine werden in generischen übergeordneten Treiberroutinen zusammengefasst.
Lademechanismus des generischen übergeordneten USB-Treibers
Wenn ein zusammengesetztes Gerät die anforderungen erfüllt, die in enumeration of USB Composite Devices beschrieben werden, generiert das Betriebssystem eine kompatible ID, um USB\COMPOSITE
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 Anbieter bereitgestellten INF-Datei.
Dieser Standardmechanismus funktioniert jedoch nicht für zusammengesetzte Geräte, die eine benutzerdefinierte Enumeration von Schnittstellenauflistungen erfordern, da das System im Standardmechanismus nicht den erforderlichen vom Anbieter bereitgestellten Filtertreiber lädt. Damit der Enumerationsrückrufroutinemechanismus 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. Dies erfordert, dass der Hersteller des zusammengesetzten Geräts eine INF-Datei installiert, die der Geräte-ID des zusammengesetzten Geräts entspricht, und lädt explizit sowohl den generischen USB-Treiber als auch den Filtertreiber.
Unterstützung für die Wireless Mobile Communication Device Class
In Windows Vista bietet der generische USB-Übergeordnete Treiber (Usbccgp.sys) Unterstützung für Geräte, die in der Universal Serial Bus (USB) Communication Device Class (CDC) und der USB Wireless Mobile Communication Device Class (WMCDC) enthalten sind.
Die Spezifikation der USB Wireless Mobile Communication Device Class (WMCDC) stellt einen Standard für den Verbindungs-, Steuerungs- und Inhaltsaustausch zwischen einem Host und einem drahtlosen mobilen Gerät (z. B. einem Mobiltelefon) her, wenn das Gerät an einen USB-Anschluss angeschlossen ist. WMCDC ist eine Erweiterung der Kommunikationsgeräteklasse (CDC), die eine breite Palette von Kommunikations- und Netzwerkgeräten umfasst. In diesem Abschnitt wird die Architektur beschrieben, die CDC- und WMCDC-Geräte in Windows-Betriebssystemen unterstützt.
WMCDC-Geräte bestehen aus mehreren Funktionen, die in logische Handsets gruppiert sind. Die meisten WMCDC-Geräte verfügen über ein einziges logisches Handset, aber ein Gerät verfügt möglicherweise über mehrere logische Handsets. Logische Handsets umfassen in der Regel Funktionen wie ein Daten-/Faxmodem, einen Objektspeicher und eine Anrufsteuerungseinrichtung. Ein logisches Handset kann auch unterstützende Funktionen enthalten, die durch andere USB-Spezifikationen definiert werden, z. B. die SPEZIFIKATION der USB-Audioklasse, die HID-Klasse (USB Human Input Device) und die SPEZIFIKATION der USB-Videoklasse.
Die Windows WMCDC-Architektur verwendet systemeigene Windows-Treiber, um die Funktionen Ihres WMCDC-Geräts zu verwalten. Sie können z. B. das Windows-Telefonieanwendungsprogramm-Subsystem (TAPI) verwenden, um die VoIP- 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 wie z. B. eine OBEX-Funktion (Object Exchange Protocol) in Benutzermodussoftware mit Unterstützung von WinUSB (Winusb.sys) verwalten.
Diese Abbildung zeigt einen Beispieltreiberstapel für ein WMCDC-Gerät.
In der vorherigen Abbildung enthält das WMCDC-Gerät ein einzelnes logisches Handset: eine OBEX-Funktion und eine Modemfunktion. Eine vom Anbieter bereitgestellte INF-Datei lädt systemeigene Windows-Treiber, um das Modem zu verwalten. 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 Windows Portable Devices (WPD)-Protokoll, um mit Benutzeranwendungen und der Schnittstelle zu kommunizieren, die die Einführung in WinUSB für Entwickler exportiert, um mit dem USB-Stapel zu kommunizieren. Im Allgemeinen lädt eine vom Anbieter bereitgestellte INF-Datei eine separate Instanz 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 Instanz 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 Hexadezimalstellenpaare 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.
Die folgenden Themen beschreiben den WMCDC weiter:
Aufzählen von Schnittstellensammlungen auf WMCDC
Die Mobile Kommunikationsgeräteklasse (USB Wireless Mobile Communication Device Class, WMCDC) ist eine Unterklasse der USB-Kommunikationsgeräteklasse (CDC). Die WMCDC-Spezifikation erweitert, ändert jedoch nicht wesentlich die CDC-Richtlinien zum Definieren von Schnittstellensammlungen. Insbesondere müssen WMCDC-Geräte die CDC-Richtlinien zum Definieren von Schnittstellensammlungen einhalten.
CDC-Schnittstellensammlungen enthalten eine Masterschnittstelle (USB_INTERFACE_DESCRIPTOR), die zur Kommunikationsschnittstellenklasse (bInterfaceClass = 0x02
) oder zur Datenschnittstellenklasse () gehört.bInterfaceClass = 0x0A
Wenn die Masterschnittstelle zur Kommunikationsschnittstellenklasse gehört (dies ist die typische Situation), gibt die Unterklasse der Masterschnittstelle (bInterfaceSubClass) ein CDC-Steuerelementmodell an. Das Steuerelementmodell gibt den Typ der Schnittstellen an, die in der Schnittstellensammlung enthalten sind. Eine Beschreibung der vom USB Implementers Forum definierten Steuerungsmodelle finden Sie in der CDC-Spezifikation und der WMCDC-Spezifikation.
Auf die Masterschnittstelle einer Schnittstellensammlung folgt eine Reihe von obligatorischen klassenspezifischen funktionsspezifischen Deskriptoren, einschließlich einer Funktionsbeschreibung (Union Functional Descriptor, UFD). Die UFD listet die Nummern der Schnittstellen auf, die zur Auflistung gehören. Das bMasterInterface-Feld der UFD enthält die Nummer der Masterschnittstelle. Null- oder mehr bSubordinateInterface-Felder enthalten die Zahlen der anderen (untergeordneten) Schnittstellen in der Auflistung.
Für die meisten Arten von Steuerelementmodellen erstellt der USB Generic Parent Driver (Usbccgp.sys) ein physisches Geräteobjekt (PDO) für jede UFD. Einige Steuerelementmodelle enthalten jedoch eine Audioschnittstelle, die der generische übergeordnete Treiber separat von der Schnittstellensammlung aufzählt, zu der die Audioschnittstelle gehört. Die Audioschnittstelle wird in der Liste der untergeordneten Schnittstellen (bSubordinateInterface) in der UFD der Schnittstellensammlung angezeigt, der generische übergeordnete Treiber erstellt jedoch einen separaten PDO für die Audioschnittstelle. Sowohl die PDO für die Audioschnittstelle als auch die PDO für die Schnittstellensammlung, zu der die Audioschnittstelle gehört, befinden sich direkt über dem funktionalen Geräteobjekt (FDO) des übergeordneten zusammengesetzten Geräts in der Geräteobjektstruktur. Die PDO der Audioschnittstelle ist kein untergeordnetes Element der Schnittstellensammlung.
Es gibt zwei Steuerelementmodelle, deren Enumerationsmerkmale in der Registrierung konfigurierbar sind: das Drahtlose Handset-Steuerelementmodell (WHCM), das ein logisches Handset definiert, und das OBEX-Steuerelementmodell (Object Exchange Protocol). Um die Enumerationsmerkmale dieser beiden Steuerelementmodelle zu konfigurieren, müssen Sie eine INF-Datei bereitstellen, die eine Instanz von Usbccgp.sys lädt und den Wert von CdcFlags im Softwareschlüssel für diese Instanz 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 (Mask = 0x00000001) | Der generische ÜBERGEORDNETE USB-Treiber erstellt für jede OBEX-Schnittstelle einen separaten PDO. | Der generische übergeordnete USB-Treiber erstellt einen einzelnen PDO für alle OBEX-Schnittstellen. |
1 (Mask = 0x00000010) | Der generische übergeordnete USB-Treiber erstellt keine PDOs für WHCM-Schnittstellen (logische Handsets). Diese Schnittstellen bleiben aus der Perspektive der Geräteobjektstruktur verborgen. | Der generische übergeordnete USB-Treiber erstellt einen PDO für jede WHCM-Schnittstelle. |
Um beispielsweise beide Bits zu löschen (sie auf 0 festlegen), 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
Um Bit 0 auf 1 und Bit 1 auf 0 festzulegen, sollte die INF-Datei die folgende Zeile aufweisen.
HKR, , CdcFlags, 0x00010001, 0x00000001
Entweder bit kann festgelegt oder zurückgesetzt werden, unabhängig vom anderen Bit.
Die folgenden Abbildungen veranschaulichen, wie unterschiedliche Registrierungskonfigurationen unterschiedliche Gerätestrukturen für dasselbe Gerät erstellen können.
Die folgende Abbildung zeigt die PDO-Konfiguration, wenn bit 0 und bit 1 von CdcFlags 0 sind.
Die WHCM-Schnittstellensammlung (Wireless Handset Control Model) in der vorherigen Abbildung enthält drei untergeordnete Schnittstellensammlungen (bSubordinateInterface): zwei OBEX-Auflistungen und eine Modemsammlung. Bit 0 der CdcFlags ist 0, sodass der generische übergeordnete USB-Treiber keinen PDO für die WHCM-Schnittstellensammlung erstellt. Bit 1 der CdcFlags ist 0, sodass der generische übergeordnete USB-Treiber für jede OBEX-Schnittstellensammlung einen separaten PDO generiert.
Die folgende Abbildung zeigt die PDO-Konfiguration, wenn sowohl Bit 0 als auch Bit 1 von CdcFlags festgelegt sind.
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 einen einzelnen PDO für beide OBEX-Auflistungen.
Möglicherweise möchten Sie OBEX-Auflistungen mit einem einzelnen PDO auf Kernelebene darstellen und zwischen jeder einzelnen OBEX-Auflistung innerhalb eines Benutzermodustreibers unterscheiden. Das WPD-Protokoll (Windows Portable Devices) kann Ihnen bei Multiplex-Datenströmen zwischen verschiedenen OBEX-Funktionen auf Benutzerebene helfen, wenn alle OBEX-Funktionen auf Kernelebene in einen einzelnen PDO gruppiert werden.
Im folgenden Beispiel in der INF-Datei wird der generische ÜBERGEORDNETE USB-Treiber geladen, um ein WMCDC-Gerät zu verwalten, und weist das übergeordnete USB-Element an, PDOs für logische Handsets zu erstellen und einen einzelnen PDO für alle OBEX-Auflistungen im logischen Handset 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 funkseitige WhCM-Schnittstellen (Wireless Handset Control Model) auf besondere Weise.
In der folgenden Liste werden die wichtigsten Methoden zusammengefasst, mit denen sich die Behandlung von CDC- und WMCDC-Schnittstellensammlungen von denen anderer Schnittstellensammlungen unterscheidet:
- Die Mobile Kommunikationsgeräteklasse für drahtlose Kommunikation ermöglicht eine begrenzte Anzahl von Schachtelungen von Schnittstellensammlungen. Insbesondere kann eine logische Schnittstellensammlung (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 Steuerelementmodellauflistung und eine OBEX-Auflistung enthält.
- Sie können den generischen übergeordneten USB-Treiber so konfigurieren, dass keine WHCM-Schnittstellensammlungen aufgelistet werden. WHCM-Schnittstellensammlungen, die nicht aufgezählt werden, 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 USB-Treiber für die Erstellung separater physischer Geräteobjekte (PDOs) für OBEX-Steuerelementmodellschnittstellensammlungen konfigurieren oder einen einzelnen PDO für alle OBEX-Steuerelementmodellschnittstellensammlungen erstellen.
- Die Liste der Schnittstellennummern in einem UFD kann Lücken aufweisen. Das heißt, die Schnittstellennummern eines UFD können auf Schnittstellen verweisen, die nicht zusammenhängend sind. Dieser Nummerierungstyp ist z. B. für den USB Interface Association Descriptor (IAD) ungültig, dessen Schnittstellen zusammenhängend sein müssen und sequenzielle Zahlen 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 außerdem einen graduellen Migrationspfad von aktuellen vom Anbieter bereitgestellten Treibern, die WMCDC-Schnittstellensammlungen auf Alternativen verwalten, z. B. Benutzermodustreiber. Eine allgemeine Erläuterung dazu, wie USB-Schnittstellenhardware-IDs formatiert werden, finden Sie unter "IDs für USB-Geräte".
CDC- und WMCDC-Steuerungsmodelle
Im Abschnitt "CDC- und WMCDC-Steuerelementmodelle" werden die Eigenschaften von Schnittstellensammlungen beschrieben, die in Microsoft Windows-Betriebssystemen unterstützt werden. Jede Beschreibung enthält u. a. eine Liste der Hardware- und Geräte-IDs (IDs), die der generische übergeordnete USB-Treiber für die Schnittstellensammlung generiert.
Die meisten von Windows unterstützten Schnittstellensammlungen entsprechen Steuerelementmodellen, die zur Kommunikationsgeräteklasse (COMMUNICATION Device Class, CDC) und zur Drahtlosen Mobilen Kommunikationsgeräteklasse (MOBILE Communication Device Class, WMCDC) gehören, aber das Betriebssystem unterstützt auch Legacy-Audio- und Videoschnittstellensammlungen und eine Schnittstellensammlung, die vom Mobile Computing Promotion Consortium (MCPC) definiert wird.
Die in diesem Abschnitt beschriebenen Schnittstellensammlungen sind die folgenden:
Audioklassenschnittstellen
Usb Audio Device Class Interface Collections that occur on CDC and WMCDC devices have the following properties.
Eigenschaft | Beschreibung |
---|---|
Verweis | Universal Serial Bus Device Class Definition for Audio Devices, 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. |
Protokoll | Keine (0x00). |
Enumerated | Ja. |
Verwandte Schnittstellen | Null oder mehr zusammenhängende Schnittstellen, die zur Streaming-Unterklasse (0x02) gehören. |
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 schnittstellenspezifischen 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. Für Audioschnittstellensammlungen auf einem CDC- oder WMCDC-Gerät ist die Schnittstellenklasse 01, die Unterklasse 01, und das Protokoll ist 00. |
CDC Abstract Control Model
Es gibt zwei Versionen des abstrakten Steuerelementmodells (Abstract Control Model, ACM). Die ursprüngliche Version wird in der SPEZIFIKATION der USB-Kommunikationsgeräteklasse (CDC) definiert. Die Spezifikation der 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 Class Definitions for Communication Devices, Version 1.1, Section 3.6.2. |
Klasse der Masterschnittstelle | Communication Interface Class (0x02). |
Unterklasse der Masterschnittstelle | ACM (0x02). |
Protokoll | Alle. |
Enumerated | Ja. |
Verwandte Schnittstellen | Eine Datenklassenschnittstelle und optionale Audioklassenschnittstellen, auf die der Funktionsdeskriptor (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 Sammlung von Audioschnittstellen verweisen, die unabhängig von der ACM-Schnittstellensammlung aufgezählt wird. |
CDC ATM Networking Control Model
USB CDC ATM Networking Control Model (ANCM)-Schnittstellensammlungen weisen die folgenden Eigenschaften auf.
Eigenschaft | Beschreibung |
---|---|
Verweis | Universal Serial Bus Class Definitions for Communication Devices, Version 1.1, Section 3.8.3 |
Klasse der Masterschnittstelle | Communication Interface Class (0x02) |
Unterklasse der Masterschnittstelle | ANCM (0x07) |
Protokoll | None (0x00) |
Enumerated | Ja |
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 Interface Collections haben die folgenden Eigenschaften.
Eigenschaft | Beschreibung |
---|---|
Verweis | Universal Serial Bus Class Definitions for Communication Devices, Version 1.1, Section 3.7.2 |
Klasse der Masterschnittstelle | Communication Interface Class (0x02) |
Unterklasse der Masterschnittstelle | CAPI (0x05) |
Protokoll | None (0x00) |
Enumerated | Ja |
Verwandte Schnittstellen | Eine Datenklassenschnittstelle, auf die der Funktionsdeskriptor (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 weisen die folgenden Eigenschaften auf.
Eigenschaft | Beschreibung |
---|---|
Verweis | Universal Serial Bus Class Definitions for Communication Devices, Version 1.1, Section 3.6.1. |
Klasse der Masterschnittstelle | Communication Interface Class (0x02). |
Unterklasse der Masterschnittstelle | DLCM (0x01). |
Protokoll | Keine (0x00). |
Enumerated | Ja. |
Verwandte Schnittstellen | Audio class or vendor-defined interfaces that the union functional descriptor (UFD) references. |
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 | Die 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 weisen die folgenden Eigenschaften auf.
Eigenschaft | Beschreibung |
---|---|
Verweis | Universal Serial Bus Class Definitions for Communication Devices, Version 1.1, Section 3.8.2. |
Klasse der Masterschnittstelle | Communication Interface Class (0x02). |
Unterklasse der Masterschnittstelle | ENCM (0x06). |
Protokoll | Keine (0x00). |
Enumerated | Ja. |
Verwandte Schnittstellen | Eine Datenklassenschnittstelle, auf die der Funktionsdeskriptor (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 systemeigenen NDIS-Miniporttreiber, um die Schnittstellensammlung zu verwalten. |
CDC Multikanal ISDN-Steuerungsmodell
USB CDC Multi-Channel ISDN Control Model (MCCM)-Schnittstellensammlungen weisen die folgenden Eigenschaften auf.
Eigenschaft | Beschreibung |
---|---|
Verweis | Universal Serial Bus Class Definitions for Communication Devices, Version 1.1, Section 3.7.1 |
Klasse der Masterschnittstelle | Communication Interface Class (0x02) |
Unterklasse der Masterschnittstelle | MCCM (0x04) |
Protokoll | None (0x00) |
Enumerated | Ja |
Verwandte Schnittstellen | Mehrere Datenklassenschnittstellen, auf die der Funktionsdeskriptor (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 Telephone Control Model (TCM)-Schnittstellensammlungen weisen die folgenden Eigenschaften auf.
Eigenschaft | Beschreibung |
---|---|
Verweis | Universal Serial Bus Class Definitions for Communication Devices, Version 1.1, Section 3.6.3. |
Klasse der Masterschnittstelle | Communication Interface Class (0x02). |
SubClass der Masterschnittstelle | TCM (0x03). |
Protokoll | Alle. |
Enumerated | Ja. |
Verwandte Schnittstellen | Audioklassenschnittstellen, auf die der Funktionsdeskriptor (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. |
MCPC-anbieterspezifische Schnittstellen
Das Mobile Computing Promotion Consortium (MCPC) hat ein Format für Schnittstellensammlungen definiert, bevor die WMCDC-Spezifikation (Wireless Mobile Communication Device Class) ein Format für herstellerspezifische CDC-Geräte bereitstellte. Daher entsprechen MCPC-Schnittstellensammlungen nicht dem WMCDC-Standard.
Der generische übergeordnete USB-Treiber kann jedoch MCPC-Schnittstellensammlungen aufzählen, wenn WMCDC aktiviert ist. MCPC-Schnittstellensammlungen weisen die folgenden Eigenschaften auf.
Eigenschaft | Beschreibung |
---|---|
Verweis | Mobile Computing Promotion Consortium (MCPC) GL-004 Spezifikation |
Klasse | CDC (0x02) |
Unterklasse | 0x88 |
Protokoll | None (0x00) |
Enumerated | Ja |
Verwandte Schnittstellen | Null- oder mehr Datenklassenschnittstellen, auf die der Funktionsdeskriptor (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 |
Videoklassenschnittstellen
USB-Videogeräteklassenschnittstellensammlungen, die auf CDC- und WMCDC-Geräten auftreten, weisen die folgenden Eigenschaften auf.
Eigenschaft | Beschreibung |
---|---|
Verweis | Universal Serial Bus Device Class Definition for Video Devices, Version 1.0. |
Klasse | Video (0x0E). |
Unterklasse | Videosteuerelement (0x01). |
Protokoll | Keine (0x00). |
Enumerated | Ja. |
Verwandte Schnittstellen | Null oder mehr zusammenhängende Schnittstellen, die zur Streaming-Unterklasse (0x02) gehören. |
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 | Videoklassen-Schnittstellensammlungen erhalten spezielle Behandlung auf CDC-Geräten. Auf Nicht-CDC-Geräten werden Schnittstellensammlungen von Videoklassen durch Schnittstellenzuordnungsdeskriptoren (IADs) definiert. Auf CDC-Geräten werden Videoklassenschnittstellensammlungen durch Funktionsdeskriptoren (Union Functional Descriptors, UFDs) definiert. |
ABSTRAKTEs WMCDC-Steuerelementmodell
Es gibt zwei Versionen des abstrakten Steuerelementmodells (ACM). Die ursprüngliche Version wird in der SPEZIFIKATION der USB-Kommunikationsgeräteklasse (CDC) definiert. Die Spezifikation der 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, weisen die folgenden Eigenschaften auf.
Eigenschaft | Beschreibung |
---|---|
Verweis | Universal Serial Bus CDC Subclass Specification for Wireless Mobile Communication Devices, Version 1.0, Section 6.2. |
Klasse der Masterschnittstelle | Communication Interface Class (0x02). |
Unterklasse der Masterschnittstelle | ACM (0x02). |
Protokoll | Wenn die Auflistung ein AT Command Set-Protokoll verwendet, wird der in die kompatiblen IDs eingebettete Protokollwert 0x01. Wenn die Auflistung eines der Protokolle verwendet, die von der WMCDC-Spezifikation beschrieben werden, wird der in die kompatiblen IDs eingebettete Protokollwert über 0x06 oder 0xFE 0x2. |
Enumerated | Ja. |
Verwandte Schnittstellen | Eine Datenklassenschnittstelle, auf die der Funktionsdeskriptor (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 verweist möglicherweise auf eine Audioschnittstellensammlung, 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, wird der generische übergeordnete USB-Treiber die Schnittstellensammlung und generische Hardware-IDs mit CDC-Formaten aufzählen. 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 systemeigenen TAPI-Modemfiltertreiber (TAPI) zum Verwalten der Modemfunktion und legt die entsprechenden TAPI-Registrierungseinstellungen fest, es sei denn, der Protokollcode ist 0xFE. Wenn der Protokollcode 0xFE ist, muss der Anbieter ein Gerät oder ein 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, Section 6.6. |
Klasse der Masterschnittstelle | Communication Interface Class (0x02). |
Unterklasse der Masterschnittstelle | DMM (0x09). |
Protokoll | 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 Steuerelementmodell verwendet keinen Funktionsdeskriptor (Union Functional Descriptor, UFD). |
WMCDC Mobile Direct Line Model
USB WMCDC Mobile Direct Line Model (MDLM)-Schnittstellensammlungen weisen die folgenden Eigenschaften auf:
Eigenschaft | Beschreibung |
---|---|
Verweis | Universal Serial Bus CDC Subclass Specification for Wireless Mobile Communication Devices, Version 1.0, Section 6.7 |
Klasse der Masterschnittstelle | Communication Interface Class (0x02) |
Unterklasse der Masterschnittstelle | MDLM (0x0A) |
Protokoll | Any |
Enumerated | Ja |
Verwandte Schnittstellen | Mindestens eine Datenklassenschnittstelle, auf die der Funktionsdeskriptor (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-Steuerelementmodell (mehrere PDOs)
Es gibt zwei Möglichkeiten zum Aufzählen von Objekt-Exchange-Protokoll (OBEX)-Steuerelementmodell-Schnittstellensammlungen: Der generische übergeordnete USB-Treiber kann alle OBEX-Schnittstellen zusammen gruppieren und ein einzelnes physisches Geräteobjekt (PDO) für alle OBEX-Schnittstellen erstellen, oder der übergeordnete Treiber kann für jede OBEX-Schnittstelle einen separaten PDO 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, Section 6.5. |
Klasse der Masterschnittstelle | Communication Interface Class (0x02). |
Unterklasse der Masterschnittstelle | OBEX (0x0B). |
Protokoll | Keine (0x00). |
Enumerated | Ja. |
Verwandte Schnittstellen | Eine Datenklassenschnittstelle, auf die der Funktionsdeskriptor (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 der Instanz 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-Steuerelementmodell (single PDO)
Es gibt zwei Möglichkeiten zum Aufzählen von Objekt-Exchange-Protokoll (OBEX)-Steuerelementmodellschnittstellensammlungen: Der generische übergeordnete USB-Treiber kann alle OBEX-Schnittstellen zusammen gruppieren und ein einzelnes physisches Geräteobjekt (PDO) für alle OBEX-Schnittstellen erstellen, oder der übergeordnete Treiber kann für jede OBEX-Schnittstelle einen separaten PDO erstellen.
Wenn der generische ÜBERGEORDNETE USB-Treiber einem einzelnen PDO alle OBEX-Schnittstellen zuweist, weist der PDO die folgenden Eigenschaften auf.
Eigenschaft | Beschreibung |
---|---|
Verweis | Universal Serial Bus CDC Subclass Specification for Wireless Mobile Communication Devices, Version 1.0, Section 6.5. |
Klasse der Masterschnittstelle | Communication Interface Class (0x02). |
Unterklasse der Masterschnittstelle | OBEX (0x0B). |
Protokoll | Keine (0x00). |
Enumerated | Ja. |
Verwandte Schnittstellen | Eine Datenklassenschnittstelle, auf die der Funktionsdeskriptor (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 der Instanz 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 of Interface Collections on USB Composite Devices. |
WMCDC Wireless Handset Control Model
Der generische übergeordnete USB-Treiber enumeriert nicht immer Die Schnittstellensammlungen des Drahtlosen Handset-Steuerelementmodells (WHCM). Die Registrierungseinstellungen, die der Instanz des generischen übergeordneten USB-Treibers zugeordnet sind, der die WHCM-Schnittstellenauflistung verwaltet, bestimmen, ob der generische übergeordnete USB-Treiber ein physisches Geräteobjekt (PDO) für die Schnittstellenauflistung 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.
Aufgezählte WHCM-Schnittstellensammlungen weisen die folgenden Eigenschaften auf.
Eigenschaft | Beschreibung |
---|---|
Verweis | Universal Serial Bus CDC Subclass Specification for Wireless Mobile Communication Devices, Version 1.0, Section 6.1. |
Klasse der Masterschnittstelle | Communication Interface Class (0x02). |
Unterklasse der Masterschnittstelle | WHCM (0x08). |
Protokoll | 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 Funktionsdeskriptor (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 Druckformat in C-Sprache stellt ganze Zahlen dar. Beispielsweise bedeutet "%04x" eine 4-stellige hexadezimale ganze Zahl, "%02x" bedeutet eine 2-stellige hexadezimale ganze Zahl usw.
- Die ganze Zahl, die auf die Zeichenfolge "Vid_" folgt, ist eine 4-stellige hexadezimale Darstellung des Herstellercodes, den der USB-Ausschuss (<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 Anbieter 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 hexadezimale Darstellung der Schnittstellennummer, die aus dem bInterfaceNumber-Feld des Schnittstellendeskriptors extrahiert wird.
Aufzählung von Schnittstellensammlungen auf USB-Geräten mit IADs
Wenn ein USB-Zusammengesetztes Gerät über einen Schnittstellenzuordnungsdeskriptor (IAD) in seiner Firmware verfügt, zählt Windows Schnittstellensammlungen auf, als wären jede Sammlung ein einzelnes Gerät und weist jeder Schnittstellenauflistung ein einzelnes physisches Geräteobjekt (PDO) zu und ordnet Hardware und kompatible IDs (IDs) mit der PDO zu. Eine detaillierte Beschreibung der IADs finden Sie unter USB Interface Association Descriptor. In diesem Abschnitt werden die Hardware-IDs und kompatiblen IDs (IDs) beschrieben, die Schnittstellensammlungen zugeordnet 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 der USB-Ausschuss dem Anbieter zuweist und aus dem IdVendor-Feld des Gerätedeskriptors extrahiert wird.
- p(4) ist der vierstellige Produktcode, den der Hersteller dem Gerät zuweist und aus dem IdProduct-Feld des Gerätedeskriptors extrahiert wird.
- r(4) ist die vierstellige Gerätefreigabenummer in binärcodierter Dezimalrevision, die der Anbieter dem Gerät zuweist und aus dem bcdDevice-Feld des Gerätedeskriptors extrahiert wird.
- z(2) ist die zweistellige Schnittstellennummer, die aus dem bFirstInterface-Feld 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 aus den Feldern "bFunctionClass", "bFunctionSubClass" und "bFunctionProtocol " des IAD entnommen werden.
Sie können IADs nicht rekursiv verwenden, um Funktionen von Funktionen zu binden. Wenn ein Gerät über IAD-Deskriptoren in seiner Firmware verfügt, gruppiert der generische übergeordnete Treiber keine Schnittstellen nach Der Audiogeräteklasse, wie in enumeration of Interface Collections on USB Composite Devices beschrieben.
Aufzählung 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 nicht über einen Schnittstellenzuordnungsdeskriptor (IAD) verfügt.
Das Betriebssystem gruppiert die Schnittstellen zusammengesetzter Audiogeräte in Schnittstellensammlungen, wenn die Schnittstellen die folgenden Bedingungen erfüllen:
- Alle Schnittstellen in der Schnittstellenauflistung müssen aufeinander folgen. Mit anderen Worten: 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 bInterfaceClass-Feld der Schnittstellendeskriptor ein Wert von 0x01 zugewiesen wird.
- Jede Schnittstelle in der Schnittstellenauflistung muss über eine andere Unterklasse als die erste Schnittstelle in der Auflistung verfügen. Das bInterfaceSubClass-Feld der Schnittstellenbeschreibung gibt die Geräteunterklasse der Schnittstelle an.
Wenn eine Schnittstelle nicht alle diese drei Bedingungen erfüllt, versucht Windows, sie separat aufzuführen, anstatt sie mit den anderen Audioklassenschnittstellen zu gruppieren.
Das Betriebssystem gruppiert keine Audioklassenschnittstellen auf besondere Weise, wenn ein Schnittstellenzuordnungsdeskriptor (IAD) in der Gerätefirmware vorhanden ist. Die IAD-Methode ist immer die bevorzugte Methode zum Gruppieren von USB-Schnittstellen.
In diesem Abschnitt werden hardware- und kompatible IDs (IDs) beschrieben, die mit dem PDO verknüpft sind, das vom Betriebssystem für eine Schnittstellensammlung erstellt wird, 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 der USB-Standardsausschuss dem Anbieter zuweist und das aus dem IdVendor-Feld des Gerätedeskriptors extrahiert wird.
- p(4) ist der vierstellige Produktcode, den der Hersteller dem Gerät zuweist und aus dem IdProduct-Feld des Gerätedeskriptors extrahiert wird.
- r(4) ist die vierstellige Gerätefreigabenummer in binärcodierter Dezimalrevision, die der Anbieter dem Gerät zuweist und aus dem bcdDevice-Feld des Gerätedeskriptors extrahiert wird.
- z(2) ist die zweistellige Schnittstellennummer, die aus dem bInterfaceNumber-Feld der Schnittstellenbeschreibung 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 aus den Feldern "bInterfaceClass", "bInterfaceSubClass" und "bInterfaceProtocol " der ersten USB-Schnittstellenbeschreibung in jeder Schnittstellensammlung entnommen werden.