IOCTL_INTERNAL_USB_RESET_PORT IOCTL (usbioctl.h)
驅動程式會使用 IOCTL_INTERNAL_USB_RESET_PORT I/O 控制要求來重設所管理裝置的上游埠。 成功重設之後,總線驅動程式會重新選取設定,以及裝置在重設發生之前擁有的任何替代介面設定。 所有管道控點、組態控點和介面控點都維持有效狀態。
驅動程式應該取消所有 I/O 要求,並等待它們完成,再起始這項作業。
在複合裝置上管理個別介面的驅動程式,若未重設整個複合裝置及其所有介面,就無法重設介面。 基於這個理由,管理介面的驅動程式應該先嘗試其他類型的錯誤復原,例如重設 管道 (_URB_PIPE_REQUEST) ,然後再重設介面。
此 IOCTL 必須在PASSIVE_LEVEL的 IRQL 傳送。
IOCTL_INTERNAL_USB_RESET_PORT 是核心模式 I/O 控制要求。 此要求的目標是USB中樞 PDO。
主要程序代碼
IRP_MJ_INTERNAL_DEVICE_CONTROL
輸入緩衝區
無。
輸入緩衝區長度
無。
輸出緩衝區
無。
輸出緩衝區長度
無。
狀態區塊
總線或埠驅動程式會將 Irp-IoStatus.Status> 設定為STATUS_SUCCESS或適當的錯誤狀態。
規格需求
需求 | 值 |
---|---|
標頭 | usbioctl.h (包含 Usbioctl.h) |