Добрый день
Подскажите, как программно определить версию драйвера, установленного в системе.
C/C++ - Программное определение версии драйверов
-
Iska
Re: C/C++ - Программное определение версии драйверов
Возможно, я неправильно сформулировал. Нужна версия работающего драйвера (а не файла). К примеру, у на ПК работает некое устройство (например, на шине USB) и утилита должна знать версию его драйверов (чтобы использовать/не использовать какие-то функции)
-
RedScorpio
Re: C/C++ - Программное определение версии драйверов
Сам спросил - сам отвечу.
Удобнее всего оказалось использовать реестр.
1. Определяем DriverKeyName (определяю его через DeviceIoControl)
2. Открываем реестр RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SYSTEM\\ControlSet001\\Control\\Class\\", ...)
3. Читаем RegQueryValueEx(RegKey, "DriverVersion", ...
4. Можно еще прочитать "DriverDate"
5. Закрываем RegCloseKey(RegKey)
Удобнее всего оказалось использовать реестр.
1. Определяем DriverKeyName (определяю его через DeviceIoControl)
2. Открываем реестр RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SYSTEM\\ControlSet001\\Control\\Class\\", ...)
3. Читаем RegQueryValueEx(RegKey, "DriverVersion", ...
4. Можно еще прочитать "DriverDate"
5. Закрываем RegCloseKey(RegKey)