USB のデバイス固有のメソッド (_DSM)
WINDOWS では、USB サブシステムのデバイス クラス固有の構成をサポートするために、この記事で説明する機能を備えるデバイス固有のメソッド (_DSM) を定義します。
機能 1: デュアル ロール コントローラーのリセット後の処理
デュアルロールUSBコントローラのリセット後処理機能の_DSM制御方法パラメータは次のとおりです。
引数 (関数 1)
- Arg0: UUID = ce2ee385-00e6-48cb-9f05-2edb927c4899
- Arg1: リビジョン ID: 0
- Arg2: 関数インデックス = 1
- Arg3: 空のパッケージ (未使用)
戻り値 (関数 1)
なし
Windows 受信トレイ ドライバーは、ホスト モードの USB コントローラーのみをサポートします。 各コントローラーのリセット後、USB ドライバーは、_DSM関数インデックス 1 を呼び出して、ホスト モードで動作するように USB コントローラーを構成するために必要なコントローラー固有の初期化を実行します。
この関数を使用する場合、_DSM メソッドが USB コントローラー デバイスの下に表示される必要があります。
機能 2: ポートの種類の識別
USB ポートの種類を識別するための_DSM制御方法のパラメーターは次のとおりです。
引数 (関数 2)
- Arg0: UUID = ce2ee385-00e6-48cb-9f05-2edb927c4899
- Arg1: リビジョン ID: 0
- Arg2: 関数インデックス = 2
- Arg3: 空のパッケージ (未使用)
戻り値 (関数 2)
次のいずれかの値を含む整数:
要素 | オブジェクトの種類 | 説明 |
---|---|---|
[ポートの種類] | 整数 (バイト) | USB ポートのタイプを指定します。 0x00 – 通常の USB 0x01 – HSIC 0x02 – SSIC 0x03 – 予約済みの0xff |
この関数を使用する場合、_DSM メソッドが USB ポート デバイスの下に表示される必要があります。
機能 5: ポートの U1 および U2 遷移を無効にする
この_DSMメソッドが0x01返されると、USB バス ドライバーは、ポートの U1 と U2 の遷移を無効にします。 0X00返された場合、USB バス ドライバーは、U1 と U2 の遷移で説明されている U1 と U2 の遷移の既定のヒューリスティックに フォールバックします。
_DSMメソッドは、USB3 ポートの下に表示する必要があります。 Windows 10 バージョン 2004 (Vibranium) 以降で使用できます。
_DSM制御メソッドのパラメータは次のとおりです。
引数 (関数 5)
- Arg0: UUID = ce2ee385-00e6-48cb-9f05-2edb927c4899
- Arg1: リビジョン ID: 0
- Arg2: 関数インデックス = 5
- Arg3: 空のパッケージ (未使用)
戻り値 (関数 5)
次のいずれかの値を含む整数:
要素 | オブジェクトの種類 | 説明 |
---|---|---|
U1 と U2 を無効にしますか? | 整数 (バイト) | U1 と U2 の動作を指定します。 0x00 – USB バス ドライバーは、U1 と U2 の既定のヒューリスティックにフォールバックします。 0x01 – U1 と U2 の切り替えは無効になります。 0x02 – 予約済みの0xff |
関数 6: クエリ コントローラーレジスタのアクセスの種類
この機能は、Windows Server 2022 および Windows 11 以降で利用可能です。
USB コントローラーと通信するためのレジスタ アクセスの種類に対してクエリを実行するための_DSM制御メソッドのパラメーターは次のとおりです。
引数 (関数 6)
- Arg0: UUID = ce2ee385-00e6-48cb-9f05-2edb927c4899
- Arg1: リビジョン ID: 0
- Arg2: 関数インデックス = 6
- Arg3: 空のパッケージ (未使用)
戻り値 (関数 6)
次のいずれかの値を含む整数:
要素 | オブジェクトの種類 | 説明 |
---|---|---|
RegisterAccessType | 4 バイト (32 ビット) の unsigned long | USB コントローラー レジスタ アクセスの種類を指定します。 0x00 – 未定義のレジスタ アクセス 0x01 – 32 ビット レジスタ アクセスを使用する必要があります 0x02 – 予約済みの0xffffffff |
この関数を使用する場合、_DSM メソッドが USB コントローラー デバイスの下に表示される必要があります。
すべての _DSM の関数インデックス 0 は、サポートされている関数インデックスのセットを返すクエリ関数であり、常に必須です。 詳細については ACPI 5.0 仕様のセクション 9.14.1「_DSM (デバイス固有のメソッド)」を参照してください。