baggio081
驱动牛犊
驱动牛犊
  • 注册日期2007-06-12
  • 最后登录2008-02-20
  • 粉丝0
  • 关注0
  • 积分440分
  • 威望45点
  • 贡献值0点
  • 好评度44点
  • 原创分0分
  • 专家分0分
阅读:1172回复:3

帮忙看下这是什么错误

楼主#
更多 发布于:2007-09-06 10:23
一个驱动,想在程序里加载,参考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);
wangjianfeng
驱动小牛
驱动小牛
  • 注册日期2004-05-28
  • 最后登录2013-10-02
  • 粉丝0
  • 关注0
  • 积分1002分
  • 威望263点
  • 贡献值0点
  • 好评度260点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-09-06 11:06
这类代码有的是,比如TDriver好用的不得了.
GNiDiA
驱动小牛
驱动小牛
  • 注册日期2006-10-11
  • 最后登录2017-10-09
  • 粉丝0
  • 关注0
  • 积分1002分
  • 威望145点
  • 贡献值0点
  • 好评度124点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2007-09-06 13:43
SERVICE_WIN32_OWN_PROCESS, // service type
baggio081
驱动牛犊
驱动牛犊
  • 注册日期2007-06-12
  • 最后登录2008-02-20
  • 粉丝0
  • 关注0
  • 积分440分
  • 威望45点
  • 贡献值0点
  • 好评度44点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-09-06 14:00
引用第2楼GNiDiA于2007-09-06 13:43发表的  :
SERVICE_WIN32_OWN_PROCESS, // service type


我换成其他的service type也不行呀
游客

返回顶部