USB-Treiberreferenz

Übersicht über die Referenztechnologie des USB-Treibers.

Zum Entwickeln der USB-Treiberreferenz benötigen Sie die folgenden Header:

Programmieranleitungen für diese Technologie finden Sie unter:

IOCTLs

 
IOCTL_GENERICUSBFN_ACTIVATE_USB_BUS

Dieser E/A-Kontrollcode (IOCTL) wird von einem Benutzermodusdienst oder einer Anwendung gesendet, um GenericUSBFn.sys zu benachrichtigen, um den Universellen seriellen Bus (USB) zu aktivieren. Nach der Aktivierung ist der Bus für die Verarbeitung von Busereignissen und die Verarbeitung des Datenverkehrs vorbereitet.
IOCTL_GENERICUSBFN_BUS_EVENT_NOTIFICATION

Dieser E/A-Kontrollcode (IOCTL) wird von einem Benutzermodusdienst oder einer Anwendung gesendet, um sich für das USB-Ereignis (Universal Serial Bus) zu registrieren.
IOCTL_GENERICUSBFN_CONTROL_STATUS_HANDSHAKE_IN

Dieser E/A-Steuerungscode (IOCTL) wird von einem Benutzermodusdienst oder einer Anwendung gesendet, um ein Steuerelement der Länge null status Handshake auf Endpunkt 0 in In-Richtung anzufordern.
IOCTL_GENERICUSBFN_CONTROL_STATUS_HANDSHAKE_OUT

Dieser E/A-Steuerungscode (IOCTL) wird von einem Benutzermodusdienst oder einer Anwendung gesendet, um ein Steuerelement der Länge Null status Handshake auf Endpunkt 0 in OUT-Richtung abzuschließen.
IOCTL_GENERICUSBFN_DEACTIVATE_USB_BUS

Dieser IOCTL-Code wird von nevtot unterstützt.
IOCTL_GENERICUSBFN_GET_CLASS_INFO

Dieser E/A-Kontrollcode (IOCTL) wird vom Benutzermodusdienst oder der Anwendung gesendet, um Informationen zu den verfügbaren Pipes eines Geräts abzurufen, wie in der Registrierung konfiguriert.
IOCTL_GENERICUSBFN_GET_CLASS_INFO_EX

Dieser E/A-Kontrollcode (IOCTL) wird von einem Benutzermodusdienst oder einer Anwendung gesendet, um Informationen zu den verfügbaren Pipes eines Geräts abzurufen, wie in der Registrierung konfiguriert.
IOCTL_GENERICUSBFN_GET_INTERFACE_DESCRIPTOR_SET

Dieser E/A-Steuerungscode (IOCTL) wird von einem Benutzermodusdienst oder einer Anwendung gesendet, um den gesamten Schnittstellendeskriptor für eine Funktion auf dem Gerät festzulegen. Diese IOCTL-Anforderung ruft nicht den Schnittstellendeskriptor ab, der für das gesamte Gerät festgelegt ist. Usb-Schnittstellendeskriptor (Universal Serial Bus), der für eine Funktion auf dem Gerät festgelegt ist.
IOCTL_GENERICUSBFN_GET_PIPE_STATE

Dieser E/A-Kontrollcode (IOCTL) wird von einem Benutzermodusdienst oder einer Anwendung gesendet, um den Zustand der angegebenen USB-Pipe (Universal Serial Bus) abzurufen.
IOCTL_GENERICUSBFN_REGISTER_USB_STRING

Dieser E/A-Kontrollcode (IOCTL) wird von einem Benutzermodusdienst oder einer Anwendung gesendet, um einen Zeichenfolgendeskriptor zu registrieren. Usb-Zeichenfolgendeskriptor (Universal Serial Bus).
IOCTL_GENERICUSBFN_SET_PIPE_STATE

Dieser E/A-Kontrollcode (IOCTL) wird von einem Benutzermodusdienst oder einer Anwendung gesendet, um den Zustand der angegebenen USB-Pipe (Universal Serial Bus) festzulegen.
IOCTL_GENERICUSBFN_TRANSFER_IN

Dieser E/A-Kontrollcode (IOCTL) wird von einem Benutzermodusdienst oder einer Anwendung gesendet, um eine IN-Richtungsübertragung für den Endpunkt auszugeben, die der angegebenen Pipe-ID im Eingabepuffer entspricht. (IOCTL_GENERICUSBFN_TRANSFER_IN)
IOCTL_GENERICUSBFN_TRANSFER_IN_APPEND_ZERO_PKT

Dieser E/A-Kontrollcode (IOCTL) wird von einem Benutzermodusdienst oder einer Anwendung gesendet, um eine IN-Richtungsübertragung für den Endpunkt auszugeben, die der angegebenen Pipe-ID im Eingabepuffer entspricht. (IOCTL_GENERICUSBFN_TRANSFER_IN_APPEND_ZERO_PKT)
IOCTL_GENERICUSBFN_TRANSFER_OUT

Dieser E/A-Kontrollcode (IOCTL) wird von einem Benutzermodusdienst oder einer Anwendung gesendet, um eine OUT-Richtungsübertragung für den Endpunkt auszuführen, der der angegebenen Pipe-ID im Eingabepuffer entspricht.
IOCTL_GET_HCD_DRIVERKEY_NAME

Die IOCTL_GET_HCD_DRIVERKEY_NAME E/A-Steuerungsanforderung ruft den Namen des Treiberschlüssels in der Registrierung für einen USB-Hostcontrollertreiber ab.
IOCTL_USB_DIAGNOSTIC_MODE_OFF

Das IOCTL_USB_DIAGNOSTIC_MODE_OFF E/A-Steuerelement ist veraltet. Darf nicht verwendet werden.
IOCTL_USB_DIAGNOSTIC_MODE_ON

Das IOCTL_USB_DIAGNOSTIC_MODE_ON E/A-Steuerelement ist veraltet. Darf nicht verwendet werden.
IOCTL_USB_GET_ROOT_HUB_NAME

Die IOCTL_USB_GET_ROOT_HUB_NAME E/A-Steuerungsanforderung wird mit der USB_ROOT_HUB_NAME-Struktur verwendet, um den symbolischen Linknamen des Stammhubs abzurufen. IOCTL_USB_GET_ROOT_HUB_NAME ist eine E/A-Steuerungsanforderung für den Benutzermodus.
IOCTL_USB_USER_REQUEST

Die IOCTL_USB_USER_REQUEST E/A-Steuerungsanforderung ist sowohl für Benutzermodusanwendungen als auch für Kernelmodustreiber verfügbar.

Enumerationen

 
USB_USER_ERROR_CODE

Die USB_USER_ERROR_CODE-Enumeration listet die Fehlercodes auf, die eine USB-Benutzermodusanforderung meldet, wenn sie fehlschlägt.
WDMUSB_POWER_STATE

Die WDMUSB_POWER_STATE-Enumeration gibt den Energiezustand eines Hostcontrollers oder Stammhubs an.

Functions

 
WinUsb_AbortPipe

Die WinUsb_AbortPipe-Funktion bricht alle ausstehenden Übertragungen für eine Pipe ab. Dies ist ein synchroner Vorgang.
WinUsb_ControlTransfer

Die WinUsb_ControlTransfer-Funktion überträgt Steuerungsdaten über einen Standard-Steuerungsendpunkt.
WinUsb_FlushPipe

Die WinUsb_FlushPipe-Funktion verwirft alle Daten, die in einer Pipe zwischengespeichert werden. Dies ist ein synchroner Vorgang.
WinUsb_Free

Die WinUsb_Free-Funktion gibt alle ressourcen frei, die zugeordnet WinUsb_Initialize. Dies ist ein synchroner Vorgang.
WinUsb_GetAdjustedFrameNumber

Die funktion WinUsb_GetAdjustedFrameNumber berechnet die aktuelle USB-Framenummer basierend auf dem Wert der Framenummer und dem Zeitstempel.
WinUsb_GetAssociatedInterface

Die funktion WinUsb_GetAssociatedInterface ruft ein Handle für eine zugeordnete Schnittstelle ab. Dies ist ein synchroner Vorgang.
WinUsb_GetCurrentAlternateSetting

Die WinUsb_GetCurrentAlternateSetting-Funktion ruft die aktuelle alternative Schnittstelleneinstellung für eine Schnittstelle ab. Dies ist ein synchroner Vorgang.
WinUsb_GetCurrentFrameNumber

Die WinUsb_GetCurrentFrameNumber-Funktion ruft die aktuelle Framenummer für den Bus ab.
WinUsb_GetCurrentFrameNumberAndQpc

Die WinUsb_GetCurrentFrameNumberAndQpc-Funktion ruft den QPC-Wert (System Query Performance Counter) ab, der mit dem Frame und dem Microframe synchronisiert wird.
WinUsb_GetDescriptor

Die WinUsb_GetDescriptor-Funktion gibt den angeforderten Deskriptor zurück. Dies ist ein synchroner Vorgang.
WinUsb_GetOverlappedResult

Die funktion WinUsb_GetOverlappedResult ruft die Ergebnisse eines überlappenden Vorgangs für die angegebene Datei ab.
WinUsb_GetPipePolicy

Die funktion WinUsb_GetPipePolicy ruft die Richtlinie für eine bestimmte Pipe ab, die einem Endpunkt auf dem Gerät zugeordnet ist. Dies ist ein synchroner Vorgang.
WinUsb_GetPowerPolicy

Die WinUsb_GetPowerPolicy-Funktion ruft die Energierichtlinie für ein Gerät ab. Dies ist ein synchroner Vorgang.
WinUsb_Initialize

Die WinUsb_Initialize-Funktion erstellt ein WinUSB-Handle für das Gerät, das durch ein Dateihandle angegeben wird.
WinUsb_QueryDeviceInformation

Die WinUsb_QueryDeviceInformation-Funktion ruft Informationen über das physische Gerät ab, das einem WinUSB-Schnittstellenhandle zugeordnet ist.
WinUsb_QueryInterfaceSettings

Die funktion WinUsb_QueryInterfaceSettings ruft den Schnittstellendeskriptor für die angegebenen alternativen Schnittstelleneinstellungen für ein bestimmtes Schnittstellenhandle ab.
WinUsb_QueryPipe

Die WinUsb_QueryPipe-Funktion ruft Informationen zum angegebenen Endpunkt und der zugehörigen Pipe für eine Schnittstelle ab.
WinUsb_QueryPipeEx

Die funktion WinUsb_QueryPipeEx ruft erweiterte Informationen über den angegebenen Endpunkt und die zugeordnete Pipe für eine Schnittstelle ab.
WinUsb_ReadIsochPipe

Die WinUsb_ReadIsochPipe-Funktion liest Daten von einem isochronen OUT-Endpunkt.
WinUsb_ReadIsochPipeAsap

Die WinUsb_ReadIsochPipeAsap-Funktion sendet eine Anforderung, die Daten von einem isochronen OUT-Endpunkt liest.
WinUsb_ReadPipe

Die WinUsb_ReadPipe-Funktion liest Daten aus der angegebenen Pipe.
WinUsb_RegisterIsochBuffer

Die WinUsb_RegisterIsochBuffer-Funktion registriert einen Puffer, der für isochrone Übertragungen verwendet werden soll.
WinUsb_ResetPipe

Die WinUsb_ResetPipe-Funktion setzt den Daten-Umschalter zurück und löscht den Zustand des Stillstands auf einer Pipe.
WinUsb_SetCurrentAlternateSetting

Die WinUsb_SetCurrentAlternateSetting-Funktion legt die alternative Einstellung einer Schnittstelle fest.
WinUsb_SetPipePolicy

Die WinUsb_SetPipePolicy-Funktion legt die Richtlinie für eine bestimmte Pipe fest, die einem Endpunkt auf dem Gerät zugeordnet ist. Dies ist ein synchroner Vorgang.
WinUsb_SetPowerPolicy

Die WinUsb_SetPowerPolicy-Funktion legt die Energierichtlinie für ein Gerät fest.
WinUsb_StartTrackingForTimeSync

Die funktion WinUsb_StartTrackingForTimeSync startet die Zeitsynchronisierungsfunktion im USB-Treiberstapel, die die zugeordnete System-QPC-Zeit für USB-Busframes und Microframes abruft.
WinUsb_StopTrackingForTimeSync

Die WinUsb_StopTrackingForTimeSync-Funktion übergibt die Zeitsynchronisierungsfunktion im USB-Treiberstapel, die die zugeordnete System-QPC-Zeit für USB-Busframes und Microframes abruft.
WinUsb_UnregisterIsochBuffer

Die WinUsb_UnregisterIsochBuffer-Funktion gibt alle Ressourcen frei, die für isochrone Übertragungen zugeordnet WinUsb_RegisterIsochBuffer. Dies ist ein synchroner Vorgang.
WinUsb_WriteIsochPipe

Die WinUsb_WriteIsochPipe-Funktion schreibt den Inhalt eines vom Aufrufer bereitgestellten Puffers in einen isochronen OUT-Endpunkt, beginnend mit einer angegebenen Framenummer.
WinUsb_WriteIsochPipeAsap

Die WinUsb_WriteIsochPipeAsap sendet eine Anforderung zum Schreiben des Inhalts eines Puffers an einen isochronen OUT-Endpunkt.
WinUsb_WritePipe

Die WinUsb_WritePipe-Funktion schreibt Daten in eine Pipe.

Strukturen

 
USB_BANDWIDTH_INFO

Die USB_BANDWIDTH_INFO-Struktur wird mit der IOCTL_USB_USER_REQUEST E/A-Steuerungsanforderung verwendet, um Informationen über die zugeordnete Bandbreite abzurufen.
USB_BUS_STATISTICS_0

Die USB_BUS_STATISTICS_0-Struktur wird mit der IOCTL_USB_USER_REQUEST E/A-Steuerungsanforderung verwendet, um Busstatistiken abzurufen.
USB_CLOSE_RAW_DEVICE_PARAMETERS

Diese Struktur wird nicht unterstützt. Die USB_CLOSE_RAW_DEVICE_PARAMETERS-Struktur wird mit der IOCTL_USB_USER_REQUEST E/A-Steuerungsanforderung verwendet, um den Rohzugriff auf Geräte im Bus zu schließen.
USB_CONTROLLER_INFO_0

Die USB_CONTROLLER_INFO_0-Struktur wird mit der IOCTL_USB_USER_REQUEST-E/A-Steuerungsanforderung verwendet, um Informationen zum USB-Hostcontroller abzurufen.
USB_DRIVER_VERSION_PARAMETERS

Die USB_DRIVER_VERSION_PARAMETERS-Struktur wird mit der IOCTL_USB_USER_REQUEST-E/A-Steuerungsanforderung verwendet, um Versionsinformationen abzurufen.
USB_PASS_THRU_PARAMETERS

Die USB_PASS_THRU_PARAMETERS-Struktur wird mit der IOCTL_USB_USER_REQUEST-E/A-Steuerungsanforderung verwendet, um einen anbieterspezifischen Befehl an den Hostcontroller-Miniporttreiber zu übergeben.
USB_POWER_INFO

Die USB_POWER_INFO-Struktur wird zusammen mit der IOCTL_USB_USER_REQUEST E/A-Steuerungsanforderung verwendet, um den Energiezustand des Geräts abzurufen, den die Energierichtlinie des Hostcontrollers für den angegebenen Systemenergiezustand angibt.
USB_UNICODE_NAME

Die USB_UNICODE_NAME-Struktur enthält eine Unicode-Zeichenfolge, die einen symbolischen Linknamen angibt.
USBUSER_BANDWIDTH_INFO_REQUEST

Die USBUSER_BANDWIDTH_INFO_REQUEST-Struktur wird mit der IOCTL_USB_USER_REQUEST E/A-Steuerungsanforderung verwendet, um Informationen über die zugeordnete Bandbreite abzurufen.
USBUSER_BUS_STATISTICS_0_REQUEST

Die USBUSER_BUS_STATISTICS_0_REQUEST-Struktur wird mit der IOCTL_USB_USER_REQUEST-E/A-Steuerungsanforderung zum Abrufen von Busstatistiken verwendet.
USBUSER_CONTROLLER_UNICODE_NAME

Die USBUSER_CONTROLLER_UNICODE_NAME-Struktur wird in Verbindung mit der IOCTL_USB_USER_REQUEST E/A-Steuerungsanforderung verwendet, um den Treiberschlüsselnamen des USB-Hostcontrollers abzurufen.
USBUSER_GET_DRIVER_VERSION

Die USBUSER_GET_DRIVER_VERSION-Struktur wird mit der IOCTL_USB_USER_REQUEST E/A-Steuerungsanforderung verwendet, um Treiber- und Schnittstellenversionsinformationen zu lesen.
USBUSER_PASS_THRU_REQUEST

Die USBUSER_PASS_THRU_REQUEST-Struktur wird in Verbindung mit der IOCTL_USB_USER_REQUEST E/A-Steuerungsanforderung verwendet, um einen anbieterspezifischen Befehl an den Hostcontroller-Miniporttreiber zu senden.
USBUSER_POWER_INFO_REQUEST

Die USBUSER_POWER_INFO_REQUEST-Struktur wird in Verbindung mit der IOCTL_USB_USER_REQUEST E/A-Steuerungsanforderung verwendet, um Energierichtlinieninformationen über die Beziehung eines bestimmten Systemzustands zum Energiezustand des Hostcontrollers und des Stammhubs abzurufen.
USBUSER_REQUEST_HEADER

Die USBUSER_REQUEST_HEADER-Struktur wird mit der IOCTL_USB_USER_REQUEST-E/A-Steuerungsanforderung verwendet, um eine Benutzermodusanforderung an den USB-Hostcontrollertreiber zu senden.
WINUSB_PIPE_INFORMATION

Die WINUSB_PIPE_INFORMATION-Struktur enthält Pipeinformationen, die die WinUsb_QueryPipe Routine abruft.
WINUSB_PIPE_INFORMATION_EX

Die WINUSB_PIPE_INFORMATION_EX-Struktur enthält Pipeinformationen, die die WinUsb_QueryPipeEx Routine abruft.
WINUSB_SETUP_PACKET

Die WINUSB_SETUP_PACKET-Struktur beschreibt ein USB-Setuppaket.