C/C++ - Программное определение версии драйверов

Ответить
Аватара пользователя
RedScorpio

C/C++ - Программное определение версии драйверов

Сообщение RedScorpio »

Добрый день



Подскажите, как программно определить версию драйвера, установленного в системе.
Аватара пользователя
Iska

Re: C/C++ - Программное определение версии драйверов

Сообщение Iska »

Возможно, я неправильно сформулировал. Нужна версия работающего драйвера (а не файла). К примеру, у на ПК работает некое устройство (например, на шине USB) и утилита должна знать версию его драйверов (чтобы использовать/не использовать какие-то функции)
Аватара пользователя
RedScorpio

Re: C/C++ - Программное определение версии драйверов

Сообщение RedScorpio »

Сам спросил - сам отвечу.



Удобнее всего оказалось использовать реестр.

1. Определяем DriverKeyName (определяю его через DeviceIoControl)

2. Открываем реестр RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SYSTEM\\ControlSet001\\Control\\Class\\", ...)

3. Читаем RegQueryValueEx(RegKey, "DriverVersion", ...

4. Можно еще прочитать "DriverDate"

5. Закрываем RegCloseKey(RegKey)
Ответить

Вернуться в «Программирование и базы данных»