1

我有一个应用程序,它需要与一块定制硬件通信。我大致知道驱动程序将注册一个符号名称的格式,但是基于卡上的一些物理开关,卡将有一个有点动态的名称。我的问题是有没有办法找到注册的符号名称,或者找到驱动程序并创建符号名称。

我的应用程序将符号名称用于 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,并且是第一个实例。

4

1 回答 1

1

如果您的驱动程序出现在 下[HKLM\System\CurrentControlSet\Services],则只需枚举那里的子键即可。

于 2014-05-16T13:53:38.387 回答