为什么 Windows 虚拟机上的设备实例 ID 的 USB 设备序列号字符串发生变化会导致设备枚举问题

为什么 Windows 虚拟机上的设备实例 ID 的 USB 设备序列号字符串发生变化会导致设备枚举问题

我们有一个基于 USB 的设备,插入 Windows 10 机器上。

以下是设备管理器下插入的 USB 设备的设备实例 ID:

USB\VID_XXXX&PID_XXXX\SSSSSSSSS-SSSSSSSSS在哪里SSSSSSSS-SSSSSSSS是设备序列号字符串。

在此用例中,本地 Windows 10 计算机上没有问题。使用 X 应用程序可以成功枚举设备。

应用程序在打开设备进行功能操作之前枚举 USB 设备序列号。


用例的问题:USB 设备已连接到本地 Windows 计算机,并希望使用 RDP 在 Azure 虚拟桌面计算机上使用 USB 设备

我们创建了一个Azure 虚拟桌面计算机(Windows 10)并启用RemoteFx机器上的功能可实现 USB 设备从本地 Windows 10 机器重定向到 Azure 虚拟桌面机器。

使用 RDP(RemoteFx)将本地 Windows 10 计算机与 Azure 虚拟桌面计算机连接。

USB 重定向成功。

在设备管理器下检测到 USB 设备,但在虚拟机上,USB 设备序列号字符串发生更改,行为非常奇怪。

问题:X 应用程序枚举了设备,但由于设备序列号发生变化,解析失败。无法执行设备打开操作。

新设备实例 IDUSB\VID_XXXX&PID_XXXX&REV_000X\\3&XXXXXXX&0&TSUSB-SESSION2-XXXXXXXXXX&3&XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

有人知道为什么 Windows 10 虚拟机(Azure 虚拟桌面)上的 USB 设备标识/序列字符串会更改设备实例 ID 吗?

如果有人能帮助解决这个问题我将非常感激。

阅读 RemoteFX 功能和 Windows 虚拟 USB 重定向文档,但没有对此行为的解释。

在其他网站上看到过同样的问题,但没有解决方案?

相关内容