DIDEVICEINSTANCE guidInstance和guid在同一设备上进行更改

我正在使用DirectInput8来监视电脑的各种组件。 为了监控我们使用DirectInput8的游戏杆。 用DI8DEVCLASS_GAMECTRL作为types枚举所有操纵杆,DIEDFL_ATTACHEDONLY作为标志来检索数据。 最近引起了我的注意,我们有多个游戏杆出现。 首先,我查看了在重新启动之间存储组件的xml文件。 有两个游戏杆,Logitech Extreme 3d pro,每个都有一个独特的产品guid。 我支持文件并将其删除,在重新启动机器后下次启动应用程序时,强制重新扫描机器。 我能够得到同样的问题发生,并注销指导,他们是不同的每个。 该系统只有一个单一的操纵杆插入,但它通过一个USB集线器插入。 枢纽是否影响我所看到的指导? 我也可能只有5次尝试中才有可能发生这种情况。

例:

操纵杆产品GUID:3C6A972000000000504944564944操纵杆实例GUID:3C6A972097C11E3800144455354

操纵杆产品GUID:DA83AFB000000000504944564944操纵杆实例GUID:DA83AFB0D7B211E2800144455354

Solutions Collecting From Web of "DIDEVICEINSTANCE guidInstance和guid在同一设备上进行更改"

有一个类似的问题…我只是导出了VID / PID的DirectInput注册表设置,我想跨机器复制GUID。

所以,在注册表中导航到:

[HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\VID_[Whatever]&PID_[Whatever]\ 

右键单击,选择导出来创建.reg文件,将其移动到您想要的机器并双击。

这是一个痛苦的发现,但看了我们的测试人员后,我发现他们登录到多个用户帐户和返回的GUID是不同的每个用户是什么造成的问题,如果文档将被更新,以反映这是不错的。

我和原来的海报有完全相同的问题。 为了澄清他的答案,它的每个用户的实例GUID是不同的。 以下是MSDN文档错误地声明InstanceGUID应保持相同的给定的计算机上。 没有一个人从Mircosoft权衡我不知道我会永远不知道答案为什么这是 – 这是一个错误或文档不正确。

底线是你将有一个时间共享键盘绑定多个用户之间的游戏杆没有解决这个问题,这是我的情况。