Universal Serial Bus (USB)
Universal Serial Bus (USB) bietet eine erweiterbare Plug & Play serielle Schnittstelle, die eine kostengünstige Standardverbindung für Peripheriegeräte gewährleistet. USB-Geräte umfassen Tastaturen, Mäuse, Joysticks, Drucker, Scanner, Speichergeräte, Modems, Videokonferenzkameras und vieles mehr.
Der USB-IF ist eine Special Interest Groups (SIGs), die die offizielle USB-Spezifikation, Testspezifikationen und Tools verwaltet.
Windows-Betriebssysteme umfassen native Unterstützung für USB-Hostcontroller, Hubs sowie Geräte und Systeme, die der offiziellen USB-Spezifikation entsprechen. Windows bietet auch Programmierschnittstellen, mit denen Sie Gerätetreiber und Anwendungen entwickeln können, die mit einem USB-Gerät kommunizieren.
USB unter Windows
Windows-Unterstützung für USB-Typ-C-Anschlüsse: Für OEMs, die ein Windows-System mit USB-Typ-C-Anschlüssen erstellen möchten.
Universal Serial Bus 4 (USB4™): Bietet OEMs, IHVs und Siliziumanbietern, die Windows-Systeme, die USB4 unterstützen, Informationen über den USB4-Verbindungs-Manager zur Verfügung, der Das Debuggen und Bring-Up-Verfahren erleichtert.
Häufig gestellte Fragen zu USB: Häufig gestellte Fragen von Treiberentwicklern zum USB-Stapel und zu den features, die in USB unterstützt werden.
Microsoft-Betriebssystemdeskriptoren für USB-Geräte: Windows definiert MS-Betriebssystemdeskriptoren, die eine bessere Enumeration ermöglichen, wenn sie mit dem System verbunden sind, auf dem Windows-Betriebssystem ausgeführt wird.
Entwicklungstools
USB-Beispiele
Erstellen eines USB-Treibers oder einer USB-App für Windows
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 eines USB-Clienttreibers (KMDF, UMDF)
Dieser Abschnitt enthält Tutorials zum Schreiben Ihrer ersten USB-Treiber im Benutzermodus und Kernelmodus mithilfe der in Microsoft Visual Studio enthaltenen USB-Vorlagen.
Schreiben eines USB-Hostcontrollertreibers
Wenn Sie einen xHCI-Hostcontroller entwickeln, der nicht mit der Spezifikation konform ist, oder eine benutzerdefinierte Nicht-xHCI-Hardware (z. B. einen virtuellen Hostcontroller) entwickeln, können Sie einen Hostcontrollertreiber schreiben, der mit UCX kommuniziert. Betrachten Sie beispielsweise ein drahtloses Dock, das USB-Geräte unterstützt. Der PC kommuniziert mit USB-Geräten über das wireless Dock, indem er USB über TCP als Transport verwendet.
Referenz zum USB-Hostcontroller (UCX)
Schreiben eines Funktionscontrollertreibers für ein USB-Gerät
Sie können einen Controllertreiber entwickeln, der alle USB-Datenübertragungen und -Befehle verarbeitet, die vom Host an das Gerät gesendet werden. Dieser Treiber kommuniziert mit der von Microsoft bereitgestellten USB-Funktionscontrollererweiterung (UFX).
Entwickeln von Windows-Treibern für USB-Funktionscontroller
Referenz zur USB-Funktionsklassenerweiterung (UFX)
Schreiben eines USB-Typ-C-Connectortreibers
Windows 10 wird die Unterstützung für den neuen USB-Anschluss eingeführt: USB Type-C. Sie können einen Treiber für den Connector schreiben, der mit dem von Microsoft bereitgestellten Klassenerweiterungsmodul UcmCx kommuniziert, um Szenarien im Zusammenhang mit Typ-C-Connectors zu verarbeiten, z. B. welche Ports Typ-C unterstützen, welche Ports die Energiebereitstellung unterstützen.
Entwickeln von Windows-Treibern für USB-Typ-C-Anschlüsse
Referenz zur USB-Connector-Manager-Klassenerweiterung (UcmCx)
Schreiben eines USB-Controllertreibers mit dualer Rolle
USB Dual Role Controller werden jetzt in Windows 10 unterstützt. Windows enthält im Lieferumfang enthaltene Clienttreiber für ChipIdea- und Synopsis-Controller. Für andere Controller stellt Microsoft eine Reihe von Programmierschnittstellen bereit, die es der Dual-Role-Klassenerweiterung (UrsCx) und dem zugehörigen Clienttreiber ermöglichen, miteinander zu kommunizieren, um die Rollenwechselfunktion eines Controllers mit zwei Rollen zu verarbeiten.
Weitere Informationen zu diesem Feature finden Sie unter:
USB-Treiberstapelarchitektur mit dualer Rolle
Programmierreferenz für USB-Controllertreiber mit dualer Rolle
Schreiben eines USB-Treibers für emulierte Geräte
Sie können einen emulierten USB-Hostcontrollertreiber (Universal Serial Bus) und ein angeschlossenes virtuelles USB-Gerät entwickeln. Beide Komponenten werden in einem einzelnen KMDF-Treiber kombiniert, der mit der von Microsoft bereitgestellten USB-Geräteemulationsklassenerweiterung (UdeCx) kommuniziert.
Entwickeln von Windows-Treibern für emulierte USB-Geräte (UDE)
Referenz zur Programmierung des emulierten USB-Hostcontrollertreibers
WDF-Erweiterung für die Entwicklung von USB-Treibern
- Referenz zur USB-Connector-Manager-Klassenerweiterung (UcmCx)
- Referenz zum USB-Hostcontroller (UCX)
- Referenz zur USB-Funktionsklassenerweiterung (UFX)
Schreiben einer UWP-App
Sprechen Sie mit USB-Geräten von Anfang bis Ende: Enthält schritt-für-Schritt-Anweisungen zum Implementieren von USB-Features in einer UWP-App. Zum Schreiben einer solchen App für ein USB-Gerät benötigen Sie Visual Studio und das Microsoft Windows Software Development Kit (SDK).
Windows.Devices.Usb: UWP-Namespace-Programmierreferenz.
Schreiben einer Windows-Desktop-App
Schreiben einer WinUSB-Anwendung: Beschreibt, wie eine Anwendung WinUSB Functions aufrufen kann, um mit einem USB-Gerät zu kommunizieren.
WinUSB-Funktionen
Häufige Programmierszenarien: Liste der allgemeinen Aufgaben, die ein Treiber oder eine App ausführt, um mit einem USB-Gerät zu kommunizieren. Hier erhalten Sie schnelle Informationen zu den Programmierschnittstellen, die Sie für jede Aufgabe benötigen.
Testen von USB-Geräten mit Windows
Übersicht über Microsoft USB Test Tool (MUTT)-Geräte
Rufen Sie Informationen zu den Tools ab, mit denen Sie Ihre USB-Hardware oder -Software testen, Ablaufverfolgungen von Vorgängen und anderen Systemereignissen erfassen und beobachten, wie der USB-Treiberstapel auf eine Anforderung reagiert, die von einem Clienttreiber oder einer Anwendung gesendet wird.
Lesen Sie eine Übersicht über Tests im Hardwarezertifizierungskit, mit denen Hardwarehersteller und Gerätehersteller ihre USB-Geräte und Hostcontroller für die Übermittlung der Windows-Hardwarezertifizierung vorbereiten können.
Universal Serial Bus 4 (USB4™)
Universal Serial Bus 4 (USB4™): Bietet OEMs, IHVs und Siliziumanbietern, die Windows-Systeme, die USB4 unterstützen, Informationen über den USB4-Verbindungs-Manager zur Verfügung, der Das Debuggen und Bring-Up-Verfahren erleichtert.
Einführung in den USB4-Verbindungs-Manager unter Windows: Der Verbindungs-Manager in einer USB4-Domäne ist für die Enumeration, Konfiguration und Verwaltung der USB4-Domäne zuständig.
Details zum Entwurf von Universal Serial Bus 4 (USB4™) und allgemeine Anforderungen: Allgemeine Design- und Benutzerfreundlichkeitsanforderungen.
Universal Serial Bus 4 (USB4™) erforderliche Tests: Die HLK-Anforderungen sind nicht so konzipiert, dass sie eine vollständige End-to-End-Funktionstestabdeckung für den USB4-Featuresatz bieten. Wir empfehlen, dass Sie eine gründliche Validierung wichtiger Nutzungsszenarien durchführen.
Andere Ressourcen für USB
Offizielle USB-Spezifikation: Bietet vollständige technische Details für das USB-Protokoll.
Microsoft Windows USB Core Team Blog: Lesen Sie beiträge, die vom Microsoft USB-Team geschrieben wurden. Der Blog konzentriert sich auf den Windows-USB-Treiberstapel, der mit verschiedenen USB-Hostcontrollern und USB-Hubs funktioniert, die auf Windows-PCs gefunden werden. Eine nützliche Ressource für ENTWICKLER von USB-Clienttreibern und USB-Hardwareentwicklern, um die Treiberstapelimplementierung zu verstehen, häufige Probleme zu beheben und zu erläutern, wie Tools zum Sammeln von Ablaufverfolgungen und Protokolldateien verwendet werden.
OSR Online-Listen – ntdev: Diskussionsliste, die von OSR Online für Kernelmodustreiberentwickler verwaltet wird.
Windows Hardware Dev Center: Verschiedene Ressourcen basierend auf häufig gestellten Fragen von Entwicklern, die noch nicht mit der Entwicklung von USB-Geräten und Treibern vertraut sind, die mit Windows-Betriebssystemen funktionieren.
USB-Hardware zum Lernen
MUTT-Geräte: MUTT- und SuperMUTT-Geräte sowie das zugehörige Softwarepaket sind in die HCK-Suite von USB-Tests integriert. Sie bieten automatisierte Tests, die während des Entwicklungszyklus von USB-Controllern, -Geräten und -Systemen, insbesondere Belastungstests, verwendet werden können.
OSR USB FX2 Learning Kit: Wenn Sie noch nicht mit der Entwicklung von USB-Treibern vertraut sind. Das Kit eignet sich am besten zum Untersuchen von USB-Beispielen, die in diesem Dokumentationssatz enthalten sind. Sie erhalten das Lernkit im OSR Online Store.
Erfahren Sie mehr über von Microsoft bereitgestellte USB-Treiber.
USB-geräteseitige Treiber in Windows: Beschreibt die Architektur des USB-Funktionsstapels.
Hostseitige USB-Treiber in Windows: Bietet eine Übersicht über die Usb-Treiberstapelarchitektur (Universal Serial Bus). Microsoft bietet einen Kernstapel von Treibern, die mit Geräten zusammenarbeiten, die mit EHCI- und xHCI-Controllern verbunden sind.
USB-IF-Geräteklassentreiber: Listet die von Microsoft bereitgestellten Treiber für die unterstützten USB-Geräteklassen auf. Windows bietet im Lieferumfang enthaltene Geräteklassentreiber für viele USB-IF-genehmigte Geräteklassen, Audio, Massenspeicher usw.
Generischer USB-Funktionstreiber – WinUSB: WinUSB ist ein generischer Treiber für USB-Geräte, der in allen Versionen von Windows seit Windows Vista enthalten ist. Windows bietet Winusb.sys, die als Funktionstreiber für ein benutzerdefiniertes Gerät und eine Funktion eines zusammengesetzten Geräts geladen werden können.
Generischer übergeordneter USB-Treiber für zusammengesetzte Geräte – Usbccgp: Übergeordneter Treiber für USB-Geräte mit mehreren Funktionen. Usbccgp erstellt physische Geräteobjekte (PDOs) für jede dieser Funktionen. Diese einzelnen PDOs verwalten ihre jeweiligen USB-Funktionstreiber, bei denen es sich um den Winusb.sys-Treiber oder einen USB-Geräteklassentreiber handeln kann.
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