USB 的特定于设备的方法 (_DSM)
为了支持 USB 子系统的设备类特定配置,Windows 定义了一个具有本文中所述功能的 Device-Specific 方法(_DSM)。
每个_DSM的函数索引 0 是一个查询函数,它返回支持的函数索引集,并且始终是必需的。 有关详细信息,请参阅 ACPI 5.0 规范中的“_DSM(设备特定方法)”第 9.14.1 节。
函数 1:双角色控制器的重置后处理
使用此函数时,_DSM方法必须显示在 USB 控制器设备下。
用于双角色 USB 控制器重置后处理功能的 _DSM 控制方法参数如下所示:
参数(函数 1)
- Arg0: UUID = ce2ee385-00e6-48cb-9f05-2edb927c4899
- Arg1:修订 ID = 0
- Arg2:函数索引 = 1
- Arg3:空包(未使用)
返回 (函数 1)
没有
Windows 收件箱驱动程序仅支持主机模式下的 USB 控制器。 每个控制器重置后,USB 驱动程序将调用_DSM函数索引 1,以执行配置 USB 控制器以在主机模式下运行所需的任何特定于控制器的初始化。
函数 2:端口类型标识
使用此函数时,_DSM方法必须显示在 USB 端口设备下。
用于标识 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 位)无符号长整型 | 指定 USB 控制器寄存器访问类型: 0x00 - 未定义的寄存器访问 0x01 - 必须使用 32 位寄存器访问 0x02 – 0xffffffff 保留 |
函数 7:查询_UPC是否支持 ACPI 规范 6.5 中定义的 USB-C 端口功能。
ACPI 规范 6.5 更新了 _UPC 以包含 USB-C 端口功能。 在 ACPI 规范版本低于 6.5 的系统上,此_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)
整数,如下所示:
元素 | 对象类型 | 描述 |
---|---|---|
Upc支持UsbC端口功能 | 整数(BYTE) | 0x00:此 USB 集线器的 USB 端口的 _UPC 方法没有符合 ACPI 规范 6.5 中定义的 USB-C 端口功能。 0x01:此 USB 中心的 USB 端口的 _UPC 方法具有 ACPI 规范 6.5 中定义的 USB-C 端口功能。 0x02 - 0xFF: 保留。 请勿使用 |