使用相同类型的多个设备时,midi命名不一致

mvo*_*mvo 6 usb midi duplicates winmm midi-interface

在尝试使用相同类型硬件的多个USB midi设备时,我面临着设备命名的模糊行为.由于这可能是硬件/系统/驱动程序相关,这是我的一般设置:

  • 主机:Windows 8.1 x64(在多台机器上测试)
  • usb设备:2x Livid Brain V2(通用usb-midi接口)

这两个设备(相同的硬件,我们称之为设备X和Y)闪存有两种不同的固件风格,因此它们在midi枚举中显示不同的名称.如果我只连接设备X它将自己显示为"Brain2"/如果我只连接设备Y它是"Brain2B".这些是我从MIDIINCAPS/MIDIOUTCAPS(winmm.dll)获得的名称.到现在为止还挺好.

当我同时连接两个设备时,问题就出现了,而不是两个设备都得到相同的名称(后者连接) - 因此枚举会发生变化:

  • 先X,然后Y =>都得到名字"Brain2B"
  • 先Y,然后X =>都得到名字"Brain2"

但是,我可以访问和使用这些设备,但我不能再区分它们(这与两个设备上具有相同固件的起始位置基本相同).

如果有人能指出我正确的方向,我会很高兴.有没有人遇到类似的东西?这可能是系统相关的问题吗?(或者它是一个坏司机,也许?)提前谢谢!


编辑:

我用工具调用USB设备树查看器(类似于USBView)仔细查看了usb属性,结果发现标识符在那里是正确的.那么,winmm.dll如何获得midi枚举 - 它可能是一个错误吗?(不太可能)


莫里茨

(顺便说一句:这是制造商论坛中的相关主题/帖子:链接)