次の方法で共有


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

こちらもご覧ください

_URB_PIPE_REQUEST