#windows
#Windows
Вопрос:
Как мне прочитать состояние драйвера устройства? Я знаю, что могу перебирать драйверы, используя EnumDeviceDrivers и считывая их имя с помощью GetDeviceDriverFileName, но как мне узнать, остановлены ли они, запущены, отключены и т.д.?
DriverQuery.exe предоставляет информацию, но как мне прочитать информацию в моей программе без выполнения driverquery.exe ?
Комментарии:
1. Драйвер — это не служба. У него нет состояния.
Ответ №1:
EnumDeviceDrivers Извлекает адрес загрузки для каждого драйвера устройства в системе. т.е. перечисляет уже загруженные драйверы устройств. Что вам нужно, так это изучить api Service Control Manager (SCM), как только один из способов загрузки драйвера — назначить его SCM (в этом случае у драйвера действительно ЕСТЬ СОСТОЯНИЕ).
Проверьте это: EnumServicesStatus (с dwServiceType = SERVICE_DRIVER) QueryServiceStatus
Комментарии:
1. Спасибо за подсказку, это помогло! Я нашел эту статью, в которой показано, как использовать EnumServicesStatus — оттуда просто получить состояние (запущено или нет). go4expert.com/forums/showthread.php?t=18601