阅读:1172回复:3
帮忙看下这是什么错误
一个驱动,想在程序里加载,参考msdn里的StartService代码,但是出现了错误,startservice不成功,用GetLastError()得到错误码129(ERROR_CHILD_NOT_COMPLETE),说是The %1 application cannot be run in Windows NT mode.请问下有谁遇到过相似的问题,是什么原因?
SC_HANDLE schSCManager; SC_HANDLE schService; char fullName[MAX_PATH]; char *namePart; int startRes; DWORD errorCode; SERVICE_STATUS ssStatus; GetFullPathName("Hook.sys",MAX_PATH,fullName,&namePart); schSCManager = OpenSCManager( NULL,NULL,SC_MANAGER_ALL_ACCESS); ASSERT(schSCManager!=NULL); schService=OpenService(schSCManager,"HookBugcheck",SERVICE_ALL_ACCESS); if(schService!=NULL){ DeleteService(schService); CloseServiceHandle(schService); } schService = CreateService( schSCManager, // SCManager database "Hook", // name of service "Hook Service", // service name to display SERVICE_ALL_ACCESS, // desired access SERVICE_WIN32_OWN_PROCESS, // service type SERVICE_DEMAND_START, // start type SERVICE_ERROR_NORMAL, // error control type fullName, // service's binary NULL, // no load ordering group NULL, // no tag identifier NULL, // no dependencies NULL, // LocalSystem account NULL); // no password ASSERT(schService!=NULL); if (!QueryServiceStatus( schService, // handle to service &ssStatus) ) // address of status information structure { CloseServiceHandle(schService); return; } if(ssStatus.dwCurrentState==SERVICE_STOPPED) { startRes=StartService(schService,0,NULL); errorCode=GetLastError(); ASSERT(startRes); } CloseServiceHandle(schService); |
|
驱动小牛
|
沙发#
发布于:2007-09-06 11:06
这类代码有的是,比如TDriver好用的不得了.
|
板凳#
发布于:2007-09-06 13:43
SERVICE_WIN32_OWN_PROCESS, // service type
|
|
地板#
发布于:2007-09-06 14:00
引用第2楼GNiDiA于2007-09-06 13:43发表的 : 我换成其他的service type也不行呀 |
|