Главная страница
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.054 c
3-1170319466
LIO
2007-02-01 11:44
2007.04.22
Delphi + BDE + MS SQL 2005


2-1175668633
Alex_C
2007-04-04 10:37
2007.04.22
Еще вопрос по форме в DLL


9-1148653751
Shmidt
2006-05-26 18:29
2007.04.22
Помогите мне сделать дрыгающийся прицел


3-1170253847
Dyakon_Frost
2007-01-31 17:30
2007.04.22
Хранение графических файлов в БД


15-1175075405
IMHO
2007-03-28 13:50
2007.04.22
Уроки Юрия Зотова