次の方法で共有


WdfUsbTargetDeviceResetPortSynchronously 関数 (wdfusb.h)

[KMDF と UMDF に適用]

WdfUsbTargetDeviceResetPortSynchronously メソッドは、指定された USB デバイスに関連付けられている USB ポートをリセットします。

構文

NTSTATUS WdfUsbTargetDeviceResetPortSynchronously(
  [in] WDFUSBDEVICE UsbDevice
);

パラメーター

[in] UsbDevice

WdfUsbTargetDeviceCreateWithParameters の以前の呼び出しから取得された USB デバイス オブジェクトへのハンドル。

戻り値

操作が成功した場合、WdfUsbTargetDeviceResetPortSynchronously は USB I/O ターゲットの完了状態値を返します。 それ以外の場合、このメソッドは次のいずれかの値を返すことができます。

リターン コード 説明
STATUS_INVALID_DEVICE_REQUEST
呼び出し元の IRQL が無効です。
 

このメソッドは、他の NTSTATUS 値を返す場合もあります。

ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。

注釈

WdfUsbTargetDeviceResetPortSynchronously メソッドは、IOCTL_INTERNAL_USB_RESET_PORT要求を送信することによって USB ポートをリセットします。

フレームワークは、I/O ターゲットの USB ポートをリセットする前に、I/O ターゲットのキューに残っているすべての I/O 要求を取り消します。 ドライバーは、 WdfUsbTargetDeviceResetPortSynchronously が返されるまで、追加の I/O 要求を I/O ターゲットに送信することはできません。

ドライバーは、WdfUsbTargetDeviceResetPortSynchronously を呼び出す前に WdfIoTargetStop を呼び出す必要があります。 WdfUsbTargetDeviceResetPortSynchronously が返された後、ドライバーは WdfIoTargetStart を呼び出すことができます。

リセット操作が正常に完了すると、バス ドライバーは、リセット操作が発生する前にデバイスが持っていた構成と代替インターフェイス設定を再選択します。

WdfUsbTargetDeviceResetPortSynchronously メソッドと USB I/O ターゲットの詳細については、「USB I/O ターゲット」を参照してください。

次のコード例では、指定したデバイスの USB ポートをリセットします。

NTSTATUS status;

status = WdfUsbTargetDeviceResetPortSynchronously(UsbDevice);

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
最小 UMDF バージョン 2.0
Header wdfusb.h (Wdfusb.h を含む)
Library Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 DriverCreate(kmdf)KmdfIrql(kmdf)KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf)、 UsbKmdfIrql(kmdf)UsbKmdfIrql2(kmdf)、UsbKmdfIrqlExplicit(kmdf)

こちらもご覧ください

WdfUsbTargetDeviceCreateWithParameters