C++ Windows 7 Получить символические имена установленных драйверов

У меня есть приложение, которое должно общаться с частью пользовательского оборудования. Я примерно знаю формат, в котором драйвер будет регистрировать символическое имя, однако, основываясь на некоторых физических переключателях на карте, карта будет иметь несколько динамическое имя. У меня вопрос, есть ли способ найти зарегистрированное символическое имя, или найти драйвер и создать символическое имя.

Мое приложение использует символическое имя для таких операций, как 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 - это идентификатор карты (включает аппаратное обеспечение), а Y - канал (здесь не имеет значения). Я думал, что смогу создать имя, используя значение "NextInstance", но это не сработает, поскольку у карты может быть идентификатор коммутатора, равный 4, и он будет первым экземпляром.

1 ответ

Решение

Если ваш водитель появляется под [HKLM\System\CurrentControlSet\Services]было бы просто перечислить подключи там.

Другие вопросы по тегам