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. |