好吧,我已经浏览了整个互联网,看来如果不编写我自己的驱动程序,我想做的几乎是不可能的。
我有一个设备连接到USB端口,并且 - 不幸的是,在这种情况下 - 它使用USB转UART驱动程序来模拟串行端口,该端口流式传输设备输出。
但是,为了验证软件的许可证,我想确保我知道哪个设备连接到USB端口 - 不仅仅是品牌和型号,而是(希望)实际序列号。如果不是序列号,至少有一些唯一标识符。
但我不确定在哪里或如何做到这一点。
UART Bridge有一个PNPDeviceID,但无论哪个设备都插入端口,这似乎都没有改变。
我在C#工作,根据我的阅读,这也是一个限制。
所以我的问题是:在C#中使用UART Bridge驱动程序时如何从USB连接设备获取唯一标识符?
提前致谢。
答案 0 :(得分:1)
您可以尝试使用this库。这个MSDN question中也有一些示例代码。
答案 1 :(得分:1)
PnpDeviceID实际上就是我想要的。这只是必须更新EEPROM,这在Silicon Labs的一个示例应用程序中得到了证明。 PnpDeviceID由供应商ID,产品ID和序列号组成,所有这些都可以通过演示的方法进行定制。我的特定设备集上的序列号默认为0001,这使得看起来PnpDeviceID不会改变。
参考here。