IOCTL_INTERNAL_USB_SUBMIT_URB control code
The IOCTL_INTERNAL_USB_SUBMIT_URB I/O control request is used by drivers to submit an URB to the bus driver.
IOCTL_INTERNAL_USB_SUBMIT_URB is a kernel-mode I/O control request. This request targets the USB hub PDO.
Parameters.Others.Argument1 points to the URB, a variable-length structure. The UrbHeader.Function member of the URB specifies the URB type, and the UrbHeader.Length member specifies the size in bytes of the URB. The length of URB, as well as the meaning of any additional members depends on the value of UrbHeader.Function. See URB for details.
Parameters.Others.Argument1 points to the URB structure. The UrbHeader.Status contains a USB status code for the requested operation. Any additional output depends on the UrbHeader.Function member of the URB submitted. See URB for details.
The lower-level drivers will set Irp->IoStatus.Status to STATUS_SUCCESS if the URB can be successfully processed. Otherwise, the bus driver will set it to the appropriate error condition, such as STATUS_INVALID_PARAMETER, or STATUS_INSUFFICIENT_RESOURCES.