Übersicht über das Senden von USB-Datenübertragungen in USB-Clienttreibern
Die Artikel in diesem Abschnitt enthalten Informationen zu USB-Pipes und URBs für E/A-Anforderungen und beschreiben, wie ein Clienttreiber Gerätetreiberschnittstellen (Device Driver Interfaces, DDIs) zum Übertragen von Daten zu und von einem USB-Gerät verwenden kann.
Eine Übertragung findet jedes Mal statt, wenn Daten zwischen dem Hostcontroller und dem USB-Gerät verschoben werden. Im Allgemeinen können USB-Übertragungen allgemein in Steuerübertragungen und Datenübertragungen unterteilt werden. Alle USB-Geräte müssen Steuerungsübertragungen unterstützen und können Endpunkte für Datenübertragungen unterstützen. Jeder Übertragungstyp ist dem Typ des USB-Endpunkts (ein Puffer im Gerät) zugeordnet. Die Steuerungsübertragung ist dem Standardendpunkt zugeordnet, und Datenübertragungen verwenden unidirektionale Endpunkte. Die Datenübertragungstypen verwenden Interrupt-, Massen- und isochrone Endpunkte. Der USB-Treiberstapel erstellt einen Kommunikationskanal, der als Pipe bezeichnet wird, für jeden vom Gerät unterstützten Endpunkt. Ein Ende der Pipe ist der Endpunkt des Geräts. Das andere Ende der Pipe ist immer der Hostcontroller.
Vor dem Senden von E/A-Anforderungen an das Gerät muss der Clienttreiber Informationen zu Konfigurationen, Schnittstellen, Endpunkten, dem Anbieter und klassenspezifischen Deskriptoren von einem USB-Gerät abrufen. Darüber hinaus muss der Treiber auch das Gerät konfigurieren. Die Gerätekonfiguration umfasst Aufgaben wie das Auswählen einer Konfiguration und einer alternativen Einstellung innerhalb jeder Schnittstelle. Jede alternative Einstellung kann einen oder mehrere USB-Endpunkte angeben, die für Datenübertragungen verfügbar sind.
Informationen zur Gerätekonfiguration finden Sie unter Auswählen einer Konfiguration für ein USB-Gerät und Auswählen einer alternativen Einstellung in einer USB-Schnittstelle.
Nachdem der Clienttreiber das Gerät konfiguriert hat, hat der Treiber Zugriff auf die Pipehandles, die vom USB-Treiberstapel für jeden Endpunkt in der derzeit ausgewählten alternativen Einstellung erstellt wurden. Um Daten an einen Endpunkt zu übertragen, erstellt ein Clienttreiber eine Anforderung, indem er eine FÜR den Anforderungstyp spezifische URB formatiert.
In diesem Abschnitt
Artikel | BESCHREIBUNG |
---|---|
Senden einer USB-Steuerübertragung | In diesem Artikel wird die Struktur einer Steuerungsübertragung erläutert und erläutert, wie ein Clienttreiber eine Steuerungsanforderung an das Gerät senden soll. |
Auflisten von USB-Rohren | Dieser Artikel bietet eine Übersicht über USB-Pipes und beschreibt die Schritte, die von einem USB-Clienttreiber zum Abrufen von Pipehandles aus dem USB-Treiberstapel erforderlich sind. |
Verwenden des fortlaufenden Readers zum Lesen von Daten aus einer USB-Pipe | In diesem Artikel wird das von WDF bereitgestellte Continuous Reader-Objekt beschrieben. Die Verfahren in diesem Artikel enthalten schritt-für-Schritt-Anweisungen zum Konfigurieren des Objekts und zum Lesen von Daten aus einer USB-Pipe. |
Senden von USB-Massenübertragungsanforderungen | Dieser Artikel bietet eine kurze Übersicht über USB-Massenübertragungen. Darüber hinaus werden schrittweise Anweisungen dazu bereitgestellt, wie ein Clienttreiber Massendaten vom Gerät senden und empfangen kann. |
Öffnen und Schließen statischer Datenströme in einem USB-Massenendpunkt | In diesem Artikel wird die Funktion statischer Streams erläutert und erläutert, wie ein USB-Clienttreiber Datenströme in einem Massenendpunkt eines USB 3.0-Geräts öffnen und schließen kann. |
Übertragen von Daten an isochrone USB-Endpunkte | In diesem Artikel wird beschrieben, wie ein Clienttreiber einen USB-Anforderungsblock (URB) erstellen kann, um Daten zu und von isochronen Endpunkten auf einem USB-Gerät zu übertragen. |
Senden verketteter MDLs | In diesem Artikel erfahren Sie mehr über die Funktion für verkettete MDLs im USB-Treiberstapel und wie ein Clienttreiber einen Übertragungspuffer als Kette von MDL-Strukturen senden kann. |
Wiederherstellen nach USB-Pipefehlern | Dieser Artikel enthält Informationen zu Schritten, die Sie ausprobieren können, wenn bei der Datenübertragung an eine USB-Pipe ein Fehler auftritt. Die in diesem Artikel beschriebenen Mechanismen umfassen Abbruch-, Zurücksetzungs- und Zyklusportvorgänge für Massen-, Unterbrechungs- und isochrone Rohre. |
USB-Bandbreitenzuordnung | Dieser Abschnitt enthält Anleitungen zur sorgfältigen Verwaltung der USB-Bandbreite. |