Форум: "Основная";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
ВнизКак можно программно перестартовать сервис? Найти похожие ветки
← →
sergch (2004-08-17 12:44) [0]Возможно-ли это?
← →
Digitman © (2004-08-17 12:47) [1]см.
OpenSCManager
OpenService
ControlService
StartService
← →
Ega23 © (2004-08-17 12:47) [2]Да.
← →
Ega23 © (2004-08-17 12:50) [3]
ProxAPI UPRStatus __stdcall UPRInstallDriver( LPSTR path,
unsigned uBaseAddr, unsigned uCtrlAddr )
{
SC_HANDLE hSCMan;
SC_HANDLE hServ;
UPRStatus Status = UPRCheckDriverStatus();
if (Status and UPRStatusError) return Status;
if (Status and UPRStatusInstalled)
{
hSCMan = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
if(!hSCMan)
return (UPRStatusErrorSCManager);
hServ = OpenService(hSCMan, DeviceName, SERVICE_ALL_ACCESS);
if(hServ)
{
SERVICE_STATUS ServStatus;
QueryServiceStatus(hServ,&ServStatus);
if(ServStatus.dwCurrentState == SERVICE_RUNNING )
ControlService(hServ,SERVICE_CONTROL_STOP, &ServStatus);
if(!DeleteService(hServ))
{
return UPRStatusErrorService;
}
else
if(!CloseServiceHandle(hServ)) return UPRStatusErrorService;
}
}
hServ = CreateService(hSCMan, DeviceName, DeviceName, SERVICE_ALL_ACCESS, SERVICE_KERNEL_DRIVER,
SERVICE_AUTO_START, SERVICE_ERROR_IGNORE, (LPCTSTR)path, nil, nil,
(LPCTSTR)"", nil, nil);
if (not hServ) return UPRStatusErrorService;
Status = UPRStartDriver();
return Status;
}
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.033 c