Arbeiten mit USB-Schnittstellen

Das Framework stellt jede USB-Schnittstelle als Framework-USB-Schnittstellenobjekt dar. Wenn ein Treiber ein Framework-USB-Geräteobjekt erstellt, erstellt das Framework ein Framework-USB-Schnittstellenobjekt für jede USB-Schnittstelle, die die erste USB-Konfiguration des Geräts enthält.

Die meisten USB-Geräte verfügen nur über eine Schnittstelle, und die Schnittstelle verfügt nur über eine alternative Einstellung. Treiber für solche Geräte müssen in der Regel nicht die Objektmethoden verwenden, die das USB-Schnittstellenobjekt des Frameworks definiert.

Wenn Ihr Treiber USB-Geräte unterstützt, die mehrere Schnittstellen oder alternative Einstellungen bereitstellen, ermöglichen Schnittstellenobjektmethoden dem Treiber die folgenden Vorgänge:

Abrufen von Schnittstelleninformationen

Nachdem Ihr Treiber WdfUsbTargetDeviceCreateWithParameters aufgerufen hat, kann er WdfUsbTargetDeviceGetInterface aufrufen, um ein Handle für ein Framework-USB-Schnittstellenobjekt abzurufen, das eine der USB-Schnittstellen des Geräts darstellt. Dann kann Ihr Treiber mehrere Methoden aufrufen, die das USB-Schnittstellenobjekt definiert, um Informationen über die USB-Schnittstelle abzurufen.

Ihr Treiber kann jederzeit die folgenden Methoden aufrufen, nachdem er WdfUsbTargetDeviceCreateWithParameters aufgerufen hat:

WdfUsbInterfaceGetInterfaceNumber
Gibt die USB-Schnittstellennummer zurück, die einem USB-Schnittstellenobjekt zugeordnet ist.

WdfUsbInterfaceGetDescriptor
Ruft den USB-Schnittstellendeskriptor ab, der einer der alternativen Einstellungen einer USB-Schnittstelle zugeordnet ist.

WdfUsbInterfaceGetNumEndpoints
Gibt die Anzahl der Endpunkte zurück, die einer der alternativen Einstellungen einer USB-Schnittstelle zugeordnet sind.

WdfUsbInterfaceGetEndpointInformation
Ruft Informationen zu einem Endpunkt und der zugehörigen Pipe ab.

Ihr Treiber kann die folgenden Methoden aufrufen, nachdem er WdfUsbTargetDeviceSelectConfig aufgerufen hat:

WdfUsbInterfaceGetConfiguredSettingIndex
Gibt einen Indexwert zurück, der die alternative Einstellung identifiziert, die derzeit für eine USB-Schnittstelle ausgewählt ist.

WdfUsbInterfaceGetNumConfiguredPipes
Gibt die Anzahl der Pipes zurück, die für eine angegebene USB-Geräteschnittstelle konfiguriert sind.

WdfUsbInterfaceGetConfiguredPipe
Gibt ein Handle für das Frameworkpipeobjekt zurück, das einer angegebenen USB-Geräteschnittstelle und einem angegebenen Pipeindex zugeordnet ist.

Auswählen einer alternativen Einstellung für eine USB-Schnittstelle

Nachdem ein Treiber WdfUsbTargetDeviceCreateWithParameters aufgerufen hat, kann der Treiber WdfUsbInterfaceGetNumSettings aufrufen, um die Anzahl der alternativen Einstellungen abzurufen, die eine USB-Schnittstelle unterstützt.

Nachdem ein Treiber WdfUsbTargetDeviceSelectConfig aufgerufen hat, um eine Konfiguration für ein USB-Gerät auszuwählen, kann der Treiber WdfUsbInterfaceSelectSetting aufrufen, um eine alternative Einstellung für eine der USB-Schnittstellen der Konfiguration auszuwählen.

Die alternativen Einstellungen des Geräts müssen fortlaufend nummeriert werden, beginnend mit null.

Verwandte Informationen finden Sie unter Auswählen einer alternativen Einstellung in einer USB-Schnittstelle.