如何在 HID 移动到 Windows 上的其他端口后识别它



我在Windows上,正在尝试存储通过USB连接的游戏控制器的校准数据,并试图找到一个以独立于端口的方式唯一标识它们的值。

HidD_GetSerialNumberString函数,但我在这里读到,设备具有序列号是不常见的,事实上,当我试图从PS4控制器读取一个f.e.时,HidD_GetSerialNumberString返回FALSEGetLastError返回ERROR_INVALID_PARAMETER

是否有其他可用的数据可以访问以实现这一点?

您可以尝试使用HID设备的实例ID(使用device interface path和DEVPKEY_device_InstanceId属性调用CM_Get_device_Interface_Property,并在最后一个&字符后使用字符串(。每次系统重新启动时,它应该是唯一的和持久的。但如果没有提供序列号,则不能保证(在这种情况下,如果设备插入不同的usb端口,instance ID将不同(。。。

点击此处了解更多信息:https://stackoverflow.com/a/56885175/1795050

最新更新