Share via


Übersicht über die Auswahl einer USB-Konfiguration in USB-Treibern

In den Themen in diesem Abschnitt wird beschrieben, wie ein Clienttreiber sein Gerät konfigurieren muss.

Ein USB-Gerät macht seine Funktionen in Form einer Reihe von Schnittstellen verfügbar, die als USB-Konfiguration bezeichnet werden. Jede Schnittstelle besteht aus einer oder mehreren alternativen Einstellungen, und jede alternative Einstellung besteht aus einem Satz von Endpunkten. Das Gerät muss mindestens eine Konfiguration bereitstellen, aber es kann mehrere Konfigurationen bereitstellen, die sich gegenseitig ausschließen, was das Gerät tun kann. Weitere Informationen zu Konfigurationsdeskriptoren finden Sie unter USB-Konfigurationsdeskriptoren.

Gerätekonfiguration bezieht sich auf die Aufgaben, die der Clienttreiber ausführt, um eine USB-Konfiguration und eine alternative Schnittstelle in jeder Schnittstelle auszuwählen. Vor dem Senden von E/A-Anforderungen an das Gerät muss ein Clienttreiber die Konfiguration des Geräts lesen, die Informationen analysieren und eine geeignete Konfiguration auswählen. Der Clienttreiber muss mindestens eine der unterstützten Konfigurationen auswählen, damit das Gerät funktioniert.

Ein WDM-basierter Clienttreiber kann jede der Konfigurationen in einem USB-Gerät auswählen.

Wenn Ihr Clienttreiber auf kernel-Mode Driver Framework oder User-Mode Driver Framework basiert, sollten Sie die entsprechenden Frameworkschnittstellen zum Konfigurieren eines USB-Geräts verwenden. Wenn Sie die USB-Vorlagen verwenden, die mit Microsoft Visual Studio Professional 2012 bereitgestellt werden, wählt der Vorlagencode die erste Konfiguration und die standardbasierte alternative Einstellung in jeder Schnittstelle aus.

In diesem Abschnitt

Thema BESCHREIBUNG
Auswählen einer Konfiguration für ein USB-Gerät In diesem Thema erfahren Sie, wie Sie eine Konfiguration auf einem USB-Gerät (Universal Serial Bus) auswählen.
Auswählen einer alternativen Einstellung in einer USB-Schnittstelle In diesem Thema werden die Schritte zum Ausgeben einer Select-Interface-Anforderung zum Aktivieren einer alternativen Einstellung in einer USB-Schnittstelle beschrieben. Der Clienttreiber muss diese Anforderung ausgeben, nachdem er eine USB-Konfiguration ausgewählt hat. Wenn Sie eine Konfiguration auswählen, wird standardmäßig auch die erste alternative Einstellung in jeder Schnittstelle in dieser Konfiguration aktiviert.
Konfigurieren Usbccgp.sys zum Auswählen einer nicht standardmäßigen USB-Konfiguration Dieses Thema enthält Informationen zu Registrierungseinstellungen, die die Art und Weise konfigurieren, wie Usbccgp.sys eine USB-Konfiguration auswählt. Das Thema beschreibt auch, wie Usbccgp.sys select-configuration requests verarbeitet, die von einem Clienttreiber gesendet werden, der eine der Funktionen eines zusammengesetzten Geräts steuert.

Informationen zu besonderen Überlegungen im Zusammenhang mit der Konfiguration von Geräten, die Firmwaredownloads erfordern, finden Sie unter Konfigurieren von USB-Geräten, die Firmwaredownloads erfordern.

Einschränkungen bei der Auswahl einer Konfiguration

Bestimmte Einschränkungen gelten, wenn ein Clienttreiber WDF-Objekte verwendet oder ob das Gerät über eine einzelne oder mehrere Schnittstellen verfügt. Beachten Sie die folgenden Einschränkungen, bevor Sie die Standardkonfiguration ändern:

  • Ein Clienttreiber für ein zusammengesetztes Gerät, das Schnittstellen oder Schnittstellensammlungen über den generischen übergeordneten USB-Treiber (Usbccgp.sys) verwaltet, kann den Konfigurationswert des Geräts nicht ändern. Der Clienttreiber kann jedoch Usbccgp.sys konfigurieren, um eine andere Konfiguration als die erste (Standardkonfiguration) auszuwählen. Weitere Informationen finden Sie unter Konfigurieren von Usbccgp.sys zum Auswählen einer nicht standardmäßigen USB-Konfiguration.
  • Ein KMDF-basierter Clienttreiber, der die USB-E/A-Ziele des Frameworks verwendet, kann nur die erste Konfiguration auswählen.
  • WinUSB unterstützt nur die erste Konfiguration.
  • Ein Klassentreiber unterstützt häufig mehrere Konfigurationen. Wenn Ihr Gerät eine Klasse implementiert, die durch eine USB-Klassenspezifikation definiert ist, finden Sie informationen zu Geräteklassen und Klassenspezifikationen auf der USB-Technologiewebsite . Microsoft stellt Klassentreiber für die unterstützten USB-Geräteklassen bereit. Weitere Informationen finden Sie unter Treiber für die unterstützten USB-Geräteklassen.