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 を含む) |