Главная страница
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.089 c
2-1175254920
Alex_C
2007-03-30 15:42
2007.04.22
При FreeLibrary( hDLL ) основное окно проги пропадает


2-1175345871
ctudent
2007-03-31 16:57
2007.04.22
как узнать заголовок странички в инете


2-1175619430
Kostafey
2007-04-03 20:57
2007.04.22
ComboBox


15-1175156627
Cyrax
2007-03-29 12:23
2007.04.22
Как проще всего сдвинуть звук в mpeg-файле ?


2-1175256902
Alex_C
2007-03-30 16:15
2007.04.22
Указатель на открытый массив