Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.22;
Скачать: CL | DM;

Вниз

Остановка драйвера   Найти похожие ветки 

 
samael6 ©   (2006-11-27 17:04) [0]

Здраствуйте,
Такая проблема: написал драйвер и программу управления им. Все работает, кроме одного - процедуры остановки драйвера.
Для управления драйвером использую SCM манагер.
Сам по себе драйвер работает и отлично контроллируется такими програмами как OSLoader.
Мой же остановщик проходит нормально, но драйвер не останавливается и не выгружается, а просто перестает отвечать на команды (Получаю сообщение: Драйвер не может сейчас принимать команды...).
Вот код остановщика:

function TForm1.StopDriver: Boolean;
var
   schService,
   schSCManager: DWORD;
   p: PChar;
   ss: _SERVICE_STATUS;
begin
   Result:=False;
   p := nil;
   schSCManager := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
   if schSCManager = 0 then RaiseLastWin32Error;
   try
       schService := OpenService(schSCManager, "Avallonis", SERVICE_ALL_ACCESS);
       if schService = 0 then RaiseLastWin32Error;
       try
           if not ControlService(schService, SERVICE_CONTROL_STOP, SS) then
               RaiseLastWin32Error;
       finally
           CloseServiceHandle(schService);
       end;
   finally
       CloseServiceHandle(schSCManager);
   end;
   Result:=True;
end;


Заранее всех благодарю.


 
Игорь Шевченко ©   (2006-11-27 17:32) [1]

Вообще-то для выгрузки рекомендуется использовать NtUnloadDriver


 
Samael6 ©   (2006-11-27 18:44) [2]

Игорь, я использовал методы, которые описываются в статьях по написанию драйверов.
SCM используется во всех из них, Вы не могли бы подсказать, где можно узнать о предлогаемом Вами?


 
Samael6 ©   (2006-11-27 18:45) [3]

И еще одно, может это поможет.
У меня драйвер "В стиле NT", не WDM!
Как показал поиск ntUnloadDriver, он применяется для WDM.
Или это не важно?


 
Eraser ©   (2006-11-27 19:06) [4]

на сколько мне известно, "драйвер в стиле NT" выгрузить без перезагрузки нельзя.. хотя возможно ошибаюсь.


 
Samael6 ©   (2006-11-27 19:08) [5]


> Eraser

В том-то и дело, что можно! OSLoader, как я уже говорил, все это делает без проблем...



Страницы: 1 вся ветка

Текущий архив: 2007.04.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.056 c
1-1172567109
Тфьу
2007-02-27 12:05
2007.04.22
Создание библиотек bpl


15-1175241462
Ketmar
2007-03-30 11:57
2007.04.22
wine и шрифты


2-1175779333
voe
2007-04-05 17:22
2007.04.22
работа с текствовыми файлами.


2-1175711064
kingsoft
2007-04-04 22:24
2007.04.22
Image и ScrollBar


9-1144508413
Nic
2006-04-08 19:00
2007.04.22
Философия игр