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または適切なエラー状態に設定します。
要件
要件 | 値 |
---|---|
Header | usbioctl.h (Usbioctl.h を含む) |