我有一个应用程序,需要与一个自定义硬件进行通信。我大致知道驱动程序将注册一个符号名称的格式,但是根据卡上的一些物理开关,该卡将具有一些动态名称。我的问题是有没有办法找到注册的符号名称,或找到驱动程序并创建符号名称。
我的应用程序使用符号名称来执行CreateFile(),WriteFile()等操作。
更新
驱动程序是PNP,所以它实际上只生成HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\V70QT\
下的一个子项,并且我可能有超过1张卡。我想了一下,我可以使用这个注册表项
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\V70QT\Enum]
"Count"=dword:00000001
"NextInstance"=dword:00000001
"0"="PCI\\VEN_10B5&DEV_2021&SUBSYS_202110B5&REV_03\\4&33c89357&0&08F0"
因为符号键名称的格式类似于V70QTX_Y,其中X是卡ID(在硬件上切换),Y是通道(此处不相关)。我以为我可以使用" NextInstance"来建立名称。但是这个值不起作用,因为卡的开关ID可能是4,并且是第一个实例。
答案 0 :(得分:1)
如果您的驱动程序显示在[HKLM\System\CurrentControlSet\Services]
下,则只需要枚举那里的子项。