Проверьте, существует ли драйвер Windows для данного идентификатора устройства

Я пишу библиотеку Windows, используя C ++. Эта библиотека должна быть в состоянии проверить, установлен ли в системе драйвер устройства определенного устройства. Поэтому я ищу способ проверить, установлен ли драйвер для известногоИдентификатор устройства.

До сих пор я нашел эту информацию:

SetupDiBuildDriverInfoList перечисляет доступные драйверы для данных устройств. Тем не менее, я должен предоставить больше, чем просто идентификатор устройства.

SetupDiGetClassDevs кажется, возвращает именно то, что мне нужно для вызова SetupDiBuildDriverInfoList, но он по-прежнему не принимает идентификатор устройства в качестве ввода. Может потребоваться GUID класса настройки / интерфейса устройства, но если я правильно понимаю, драйвер конкретного производителя не имеет такого GUID. Также может потребоваться PnP-перечислитель, о котором я не знаю достаточно, чтобы сказать, могу ли я каким-то образом его использовать. Или, наконец, это может занятьИдентификатор экземпляра устройства - но не идентификатор устройства.

Очевидно, что я хочу проверить наличие любого устройства такого же типа, поэтому запрос по идентификатору экземпляра устройства невозможен. Итак, вопрос заключается в следующем: как проверить, установлен ли драйвер для данного идентификатора устройства (или любой другой информации, которая может идентифицировать устройство; я предполагаю, что идентификатор устройства здесь подходит), используя функции API, которые я перечислил ( или любым другим способом)?

Ответы на вопрос(2)

Ваш ответ на вопрос