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