Übersicht über die Entwicklung von Windows-Clienttreibern für USB-Geräte
In diesem Artikel wird die Unterstützung von USB (Universal Serial Bus) im Windows-Betriebssystem beschrieben, damit Sie USB-Gerätetreiber entwickeln können, die mit Windows interoperabel sind.
USB-Geräte sind Peripheriegeräte, z. B. Mausgeräte und Tastaturen, die über einen einzigen Anschluss mit einem Computer verbunden sind. Ein USB-Clienttreiber ist die Software, die auf dem Computer installiert ist, der mit der Hardware kommuniziert, um das Gerät funktionsfähig zu machen. Wenn das Gerät zu einer von Microsoft unterstützten Geräteklasse gehört, lädt Windows einen der von Microsoft bereitgestellten USB-Treiber (mitgelieferte Klassentreiber) für das Gerät. Andernfalls muss ein benutzerdefinierter Clienttreiber vom Hardwarehersteller oder einem Drittanbieter bereitgestellt werden. Der Benutzer installiert den Clienttreiber für das Gerät, wenn das Gerät zum ersten Mal von Windows erkannt wird. Nach erfolgreicher Installation lädt Windows den Clienttreiber jedes Mal, wenn das Gerät angefügt wird, und entlädt den Treiber, wenn das Gerät vom Hostcomputer getrennt wird.
Sie können einen benutzerdefinierten Clienttreiber für ein USB-Gerät mithilfe der Windows Driver Frameworks (WDF) oder des Windows-Treibermodells (WDM) entwickeln. Anstatt direkt mit der Hardware zu kommunizieren, senden die meisten Clienttreiber ihre Anforderungen an den von Microsoft bereitgestellten USB-Treiberstapel, der Hal-Funktionsaufrufe (Hardware Abstraction Layer) durchführt, um die Anforderung des Clienttreibers an die Hardware zu senden. In den Themen in diesem Abschnitt werden die typischen Anforderungen beschrieben, die ein Clienttreiber senden kann, und die Gerätetreiberschnittstellen (Device Driver Interfaces, DDIs), die der Clienttreiber aufrufen muss, um diese Anforderungen zu erstellen.
Entwicklergruppe
Ein Clienttreiber für ein USB-Gerät ist ein WDF- oder WDM-Treiber, der über DDIs, die vom USB-Treiberstapel verfügbar gemacht werden, mit dem Gerät kommuniziert. Dieser Abschnitt ist für C/C++-Programmierer gedacht, die mit WDM vertraut sind. Bevor Sie diesen Abschnitt verwenden, sollten Sie sich mit der grundlegenden Treiberentwicklung vertraut machen. Weitere Informationen finden Sie unter Erste Schritte mit Windows-Treibern. Für WDF-Treiber kann der Clienttreiber Kernel-Mode Driver Framework (KMDF) oder UMDF-Schnittstellen (User-Mode Driver Framework ) verwenden, die speziell für die Arbeit mit USB-Zielen entwickelt wurden. Weitere Informationen zu den USB-spezifischen Schnittstellen finden Sie unter WDF-USB-Referenz und UMDF-USB-E/A-Zielschnittstellen.
Entwicklungstools
Das Windows Driver Kit (WDK) enthält Ressourcen, die für die Treiberentwicklung erforderlich sind, z. B. Header, Bibliotheken, Tools und Beispiele.
USB-Programmierreferenz
Enthält Spezifikationen für E/A-Anforderungen, Supportroutinen, Strukturen und Schnittstellen, die von USB-Clienttreibern verwendet werden. Diese Routinen und zugehörigen Datenstrukturen werden in den WDK-Headern definiert.
USB-Treiberbeispiele
Verwenden Sie diese Beispiele für die ersten Schritte mit der Programmierung von USB-Clienttreibern.
- Usbsamp Generischer USB-Treiber
- Beispiel-KMDF-Funktionstreiber für OSR USB-FX2
- Beispiel-UMDF-Funktionstreiber für OSR USB-FX2 (UMDF Version 1)
- Beispielfunktionstreiber für OSR USB-FX2 (UMDF Version 2)
Zugehörige Standards und Spezifikationen
Sie können offizielle USB-Spezifikationen von der Website der Universal Serial Bus Document Library herunterladen. Diese Website enthält Links zu verschiedenen Überarbeitungen der Universal Serial Bus-Spezifikationen.
Abschnitte der Dokumentation
Erste Schritte mit der Entwicklung von USB-Clienttreibern
Hier erfahren Sie mehr über die Entwicklung von USB-Treibern. Enthält Informationen zur Auswahl des am besten geeigneten Modells für die Bereitstellung eines USB-Treibers für Ihr Gerät. Schreiben, erstellen und installieren Sie Ihre ersten Skeleton-Benutzermodus- und Kernelmodus-USB-Treiber mithilfe der in Microsoft Visual Studio enthaltenen USB-Vorlagen.USB-hostseitige Treiber in Windows
Bietet eine Übersicht über die ARCHITEKTUR des USB-Treiberstapels.Informationen zu USB-Blockanforderungen (URBs)
Erfahren Sie, wie ein Clienttreiber eine Datenstruktur mit variabler Länge erstellt, die als USB-Anforderungsblock (URB) bezeichnet wird, um Anforderungen an den USB-Treiberstapel zu übermitteln.USB-Deskriptoren
Erfahren Sie, wie ein Clienttreiber eine Datenstruktur mit variabler Länge erstellt, die als USB-Anforderungsblock (URB) bezeichnet wird, um Anforderungen an den USB-Treiberstapel zu übermitteln.Auswählen einer USB-Konfiguration in USB-Treibern
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. Der Abschnitt zeigt die Methodenaufrufe, die zum Auswählen einer USB-Konfiguration erforderlich sind.Senden von USB-Datenübertragungen in USB-Clienttreibern
Beschreibt USB-Pipes, URBs für E/A-Anforderungen und wie ein Clienttreiber die Gerätetreiberschnittstellen (Device Driver Interfaces, DDIs) zum Übertragen von Daten zu und von einem USB-Gerät verwenden kann.Implementieren der Energieverwaltung in USB-Clienttreibern
Nutzen Sie die Energieverwaltungsfunktionen von USB-Geräten, die der Usb-Spezifikation (Universal Serial Bus) entsprechen, und verfügen über einen umfangreichen und komplexen Satz von Energieverwaltungsfunktionen.
Verwandte Themen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für