次の方法で共有


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: 予約済み。 使用しない