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

Вниз

Установка и удаление Драйвера! Чет я запутался или что-то не то   Найти похожие ветки 

 
NikNet ©   (2005-06-13 00:26) [0]

Вообщем что я не так сделал

Function InstallDrv(DriverName:string):String;
var
   hSCM, hSRV : THandle;
begin
   Result:="";
   hSCM := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
   IF hSCM = INVALID_HANDLE_VALUE  Then
   Result:="OpenSCManager "+#13#10;
   // ñîçäàíèå ñèñòåìíîé çàïèñè î äðàéâåðå
   hSRV := CreateService(
   hSCM,
   PChar(DriverName),
   PChar(DriverName),
   SERVICE_ALL_ACCESS,
   SERVICE_KERNEL_DRIVER,
   SERVICE_DEMAND_START,
   SERVICE_ERROR_NORMAL,
   PChar(ExtractFilePath(ParamStr(0))+DriverName),
   nil,
   nil,
   nil,
   nil,
   nil);
   IF hSRV = INVALID_HANDLE_VALUE THEN
   Result:=Result+"CreateService "+#13#10;
   // î÷èñòêà ðåñóðñîâ
   IF not CloseServiceHandle(hSRV) Then
   Result:=Result+"SRV: CloseServiceHandle"+#13#10;
   IF not CloseServiceHandle(hSCM) Then
   Result:=Result+"SCM: CloseServiceHandle"+#13#10;
   IF not StartService(hSrv,0,PChar(lpServiceArgVectors)) Then
   Result:=Result+"StartService"+#13#10;
end;

Function RemoveDrv(DriverName:string):String;
var
   hSCM, hSRV : THandle;
   Status     : TServiceStatus;
begin
  Result:="";
  hSCM := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
  IF hSCM = INVALID_HANDLE_VALUE Then
  Result:=Result+"OpenSCManager "+#13#10;
  hSRV := OpenService(hSCM,PChar(DriverName), SERVICE_ALL_ACCESS);
  IF hSRV = INVALID_HANDLE_VALUE THEN
  Result:=Result+"OpenService"+#13#10;
  IF not ControlService(hSRV,SERVICE_CONTROL_STOP,Status) then
  Result:=Result+"ControlService"+#13#10;
  IF not DeleteService(hSrv) Then
  Result:=Result+"DeleteService"+#13#10;
  IF not CloseServiceHandle(hSRV) Then
  Result:=Result+"SRV: CloseServiceHandle"+#13#10;
  IF not CloseServiceHandle(hSCM) Then
  Result:=Result+"SCM: CloseServiceHandle"+#13#10;
end;


 
NikNet ©   (2005-06-13 00:32) [1]

Во-общим ошибки при удаление!

Что-то ControlService выводит Ошибку... (False)


 
VMcL ©   (2005-06-13 10:18) [2]

>Что-то ControlService выводит Ошибку... (False)

И что по этому поводу говорит RaiseLastOSError?


 
Ученик   (2005-06-13 19:53) [3]

>NikNet ©   (13.06.05 00:26)  
В любом случае, после команды Stop, необходимо дожидаться остановки драйвера (сервиса)


 
NikNet ©   (2005-06-13 20:17) [4]

Я пробывал и так и сяк не чего :(


 
Ученик   (2005-06-13 20:21) [5]

>NikNet ©   (13.06.05 20:17) [4]

Может текст ошибки все-таки сообщите :-)


 
Anatoly Podgoretsky ©   (2005-06-13 20:25) [6]

Ученик   (13.06.05 20:21) [5]
Два бакса.


 
Ученик   (2005-06-13 20:29) [7]

>Anatoly Podgoretsky ©   (13.06.05 20:25) [6]
Да, пожалуйста :-)

http://www.britishmint.com/money_stalk_of_bills100.jpg


 
MS-MEN ©   (2005-06-13 20:44) [8]

IF ControlService(hSRV,SERVICE_CONTROL_STOP,Status) then
 Result:=Result+"ControlService"+#13#10;



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

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

Наверх




Память: 0.48 MB
Время: 0.025 c
14-1121844334
msguns
2005-07-20 11:25
2005.08.14
Барабашка ?


4-1119346235
Dot
2005-06-21 13:30
2005.08.14
узнать на каком COM-порту стоит модем


1-1122077355
Курс
2005-07-23 04:09
2005.08.14
Как можно использовать свой курсор в приложении ?


1-1122449272
Codec
2005-07-27 11:27
2005.08.14
Кодирование в UUE


3-1120824311
yk
2005-07-08 16:05
2005.08.14
Как отловить исключение в ХП?