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