Форум: "WinAPI";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];
ВнизУстановка и удаление Драйвера! Чет я запутался или что-то не то Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.016 c