IOCTL_INTERNAL_USB_CYCLE_PORT IOCTL (usbioctl.h)

IOCTL_INTERNAL_USB_CYCLE_PORT I/O 请求模拟设备拔出并重新插上与 PDO 关联的端口。

驱动程序应取消所有 I/O 请求,并等待它们完成,然后再启动此操作。

管理复合设备上的单个接口的驱动程序无法在不影响整个复合设备及其所有接口的情况下循环访问设备所连接的端口。 因此,管理接口的驱动程序应尝试其他类型的错误恢复,例如重置管道 (_URB_PIPE_REQUEST) ,然后再循环端口。

IOCTL_INTERNAL_USB_CYCLE_PORT 是内核模式 I/O 控制请求。 此请求面向 USB 集线器 PDO。 必须通过 PASSIVE_LEVEL IRQL 发送此请求。

主要代码

IRP_MJ_INTERNAL_DEVICE_CONTROL

输入缓冲区

无。

输入缓冲区长度

无。

输出缓冲区

无。

输出缓冲区长度

无。

状态块

总线或端口驱动程序将 Irp-IoStatus.Status> 设置为STATUS_SUCCESS或相应的错误状态。

要求

要求
最低受支持的客户端 Windows XP 和更高版本的操作系统。
标头 usbioctl.h (包括 Usbioctl.h)