我有点纠结于我写的一些代码,并在几台PC上成功地进行了测试。
我有一个使用windows virual com端口驱动程序的通用usb设备。
我写了一些代码来扫描pc上所有已安装的虚拟com端口设备。在“友好名称”下,我读出了com端口。相应的USB设备和虚拟com端口可以通过'ContainerID‘来标识。
USB-设备可在以下位置找到: Computer\HKEY_LOCAL_MACHINE_SYSTEM\CurrentControlSet\Enum\USB\VID_xxx&PID_xxx.可以在Computer\HKEY_LOCAL_MACHINE_SYSTEM\CurrentControlSet\Enum\USB\VID_xxx&PID_xxx&MI_00和VID_xxx&PID_xxx&MI_01下找到相应的COM设备
正如您可能期望的那样,在“FriendlyName”下定义的COM-Port并不总是COM-Port,您可以在Windows设备管理器中找到该设备。
所以这就是我的问题:如果我有一个虚拟的com端口设备-我可以从哪里读出,哪个com端口是从windows为这个特定的设备设置的?
周末愉快,AllDayPiano
发布于 2017-12-16 02:08:02
正如您所期望的,在“FriendlyName”下定义的COM-Port并不总是COM-Port,您可以在
设备管理器中找到该设备。
不,根据我使用usbser.sys设备的经验,设备管理器总是显示FriendlyName字段中的内容。
在您找到设备的同一个键/文件夹中,有一个名为“FriendlyName Parameters”的键/文件夹,其中的"PortName“值可能就是您要查找的值。
顺便说一句,来自libusbp的lsport示例支持打印系统上虚拟COM端口的COM端口号和USB标识符。
https://stackoverflow.com/questions/47830039
复制相似问题