IOCTL_INTERNAL_USB_RESET_PORT IOCTL (usbioctl.h)
驱动程序使用 IOCTL_INTERNAL_USB_RESET_PORT I/O 控制请求来重置其管理的设备的上游端口。 成功重置后,总线驱动程序将重新选择配置和设备在重置发生前的任何替代接口设置。 所有管道句柄、配置句柄和接口句柄都保持有效。
驱动程序应取消所有 I/O 请求,并等待它们完成,然后再启动此作。
在复合设备上管理单个接口的驱动程序无法在不重置整个复合设备及其所有接口的情况下重置接口。 因此,管理接口的驱动程序应在重置接口之前尝试其他类型的错误恢复,例如重置管道(_URB_PIPE_REQUEST)。
必须在PASSIVE_LEVEL的 IRQL 发送此 IOCTL。
IOCTL_INTERNAL_USB_RESET_PORT 是内核模式 I/O 控制请求。 此请求面向 USB 中心 PDO。
主要代码
IRP_MJ_INTERNAL_DEVICE_CONTROL
输入缓冲区
没有。
输入缓冲区长度
没有。
输出缓冲区
没有。
输出缓冲区长度
没有。
状态块
总线或端口驱动程序 Irp->IoStatus.Status 设置为STATUS_SUCCESS或适当的错误状态。
要求
要求 | 价值 |
---|---|
标头 | usbioctl.h (包括 Usbioctl.h) |