Как загрузить и запустить драйвер Windows? - PullRequest
1 голос
/ 24 августа 2011

Привет, у меня есть простой драйвер helloworld.sys внутри, в котором есть некоторые операторы печати, такие как kdprint («успешно загружен») и т. Д. Теперь мне нужно загрузить драйвер и запустить службу.как это сделать..??Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 01 сентября 2011

В основном драйвер должен быть зарегистрирован как сервис. Используйте OpenSCManager для доступа к функциям диспетчера служб, затем используйте CreateService для первой регистрации вашего драйвера.

При регистрации вы выбираете тип запуска драйвера. SERVICE_BOOT_START означает, что драйвер должен быть загружен во время загрузки (очень ранняя стадия загрузки ОС), SERVICE_SYSTEM_START означает, что драйвер должен быть загружен во время загрузки системы (это типично более или менее). Вы также можете использовать SERVICE_DEMAND_START - драйвер не будет загружаться автоматически.

Если ваш драйвер не загружен автоматически, вы должны использовать OpenService, чтобы получить доступ к его службе, и StartService, чтобы фактически запустить его.

Остальное зависит от того, что на самом деле делает ваш водитель. Если оно создает виртуальное устройство - вы можете получить к нему доступ, используя CreateFile. Затем используйте DeviceIoControl, чтобы фактически связаться с ним.

1 голос
/ 01 сентября 2011

См. Ссылку ниже, где вы можете найти все, что вам нужно знать, от написания драйвера до его компиляции и запуска:

Введение в драйверы устройств

...