IOCTL_USB_USER_REQUEST IOCTL (usbuser.h)

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

IOCTL_USB_USER_REQUEST ist eine E/A-Steuerungsanforderung im Benutzermodus. Diese Anforderung richtet sich an den USB-Hostcontroller (GUID_DEVINTERFACE_USB_HOST_CONTROLLER).

Aufrufer können einen der folgenden Anforderungscodes angeben:

USBUSER_CLEAR_ROOTPORT_FEATURE
Verwenden Sie diese Anforderung nicht.
USBUSER_GET_CONTROLLER_DRIVER_KEY
Meldet den Hostcontrollertreiberschlüssel in einer USB_UNICODE_NAME typisierten Unicode-Zeichenfolge. Diese Anforderung ist immer aktiviert.
USBUSER_GET_CONTROLLER_INFO_0
Ruft eine USB_CONTROLLER_INFO_0-Struktur ab, die den Hostcontroller beschreibt. Diese Anforderung ist immer aktiviert.
USBUSER_GET_ROOTPORT_STATUS
Verwenden Sie diese Anforderung nicht.
USBUSER_GET_ROOTHUB_SYMBOLIC_NAME
Meldet den symbolischen Namen des Stammhubs in einer USB_UNICODE_NAME typisierten Unicode-Zeichenfolge. Diese Anforderung ist immer aktiviert.
USBUSER_INVALID_REQUEST
Verwenden Sie diese Anforderung nicht.
USBUSER_OP_CLOSE_RAW_DEVICE
Verwenden Sie diese Anforderung nicht.
USBUSER_OP_OPEN_RAW_DEVICE
Verwenden Sie diese Anforderung nicht.
USBUSER_OP_MASK_DEVONLY_API
Verwenden Sie diese Anforderung nicht.
USBUSER_OP_MASK_HCTEST_API
Verwenden Sie diese Anforderung nicht.
USBUSER_OP_RAW_RESET_PORT
Verwenden Sie diese Anforderung nicht.
USBUSER_OP_SEND_ONE_PACKET
Verwenden Sie diese Anforderung nicht.
USBUSER_OP_SEND_RAW_COMMAND
Verwenden Sie diese Anforderung nicht.
USBUSER_SET_ROOTPORT_FEATURE
Verwenden Sie diese Anforderung nicht.
USBUSER_PASS_THRU
Sendet einen herstellerspezifischen Befehl, der von der USB_PASS_THRU_PARAMETERS-Struktur definiert wird, an den Miniporttreiber des Hostcontrollers. Diese Anforderung ist immer aktiviert.
USBUSER_GET_BANDWIDTH_INFORMATION
Ruft eine USB_BANDWIDTH_INFO-Struktur ab, die Informationen zur zugewiesenen Bandbreite enthält. Diese Anforderung ist immer aktiviert.
USBUSER_GET_POWER_STATE_MAP
Ruft eine USB_POWER_INFO-Struktur ab, die Informationen zum Energiestatus des Hostcontrollers und der Stammhubs enthält. Diese Anforderung ist immer aktiviert.
USBUSER_GET_BUS_STATISTICS_0
Ruft eine USB_BUS_STATISTICS_0-Struktur ab, die Busstatistiken enthält. Diese Anforderung ist immer aktiviert.
USBUSER_GET_BUS_STATISTICS_0_AND_RESET
Verwenden Sie diese Anforderung nicht.
USBUSER_GET_USB_DRIVER_INFORMATION
Ruft eine USB_DRIVER_VERSION_PARAMETERS-Struktur ab, die die Version des Treibers, des USB-Stapels und der zugehörigen Schnittstellen angibt. Diese Anforderung ist immer aktiviert.
USBUSER_GET_USB2_HW_VERSION
Verwenden Sie diese Anforderung nicht.

Eingabepuffer

Der Puffer bei Irp-AssociatedIrp.SystemBuffer> enthält eine Benutzeranforderungsheaderstruktur (USBUSER_REQUEST_HEADER), die die Anforderung definiert. Nach der Headerstruktur befindet sich eine Struktur, die die Parameter der Anforderung enthält. Weitere Informationen zu den Parameterstrukturen, die den einzelnen Anforderungen entsprechen, finden Sie in der Beschreibung der einzelnen Anforderungen.

Eingabepufferlänge

Die Größe einer USBUSER_REQUEST_HEADER-Struktur .

Ausgabepuffer

Eine Parameterstruktur folgt sofort der USBUSER_REQUEST_HEADER-Struktur unter Irp-AssociatedIrp.SystemBuffer>. Bei einigen Benutzeranforderungen enthält die Parameterstruktur Ausgabedaten, wenn die Anforderung abgeschlossen ist.

Länge des Ausgabepuffers

Die Länge der Parameterstruktur.

Anforderungen

Anforderung Wert
Header usbuser.h (include Usbuser.h)

Weitere Informationen

USBUSER_REQUEST_HEADER

USB_BANDWIDTH_INFO

USB_CONTROLLER_INFO_0

USB_DRIVER_VERSION_PARAMETERS

USB_PASS_THRU_PARAMETERS

USB_POWER_INFO

USB_UNICODE_NAME