欢迎来到皮皮网网首页

【win7源码大小】【顶级溯源码燕窝】【每日编程源码在线】driverload源码

来源:时间管理系统源码 时间:2024-11-26 13:46:29

1.C++ 启动服务问题!

driverload源码

C++ 启动服务问题!

       我是源码win7源码大小楼主,此程序是加载sys的?

       BOOL LoadDriver( IN LPCTSTR lpFileName )

       {

        HANDLE hDevice=0;

        SC_HANDLE hSCManager = OpenSCManager( NULL, NULL,SC_MANAGER_CREATE_SERVICE );

        CreateService(hSCManager, SERVICE_NAME,SERVICE_NAME, SERVICE_START,SERVICE_KERNEL_DRIVER, SERVICE_DEMAND_START,SERVICE_ERROR_IGNORE, lpFileName, NULL, NULL, NULL, NULL, NULL );

        SC_HANDLE hService = OpenService( hSCManager, SERVICE_NAME, SERVICE_START );

        if(!StartService( hService, 0, NULL ))

        {

        printf("ERROR!");

        return false;

        }

        else

        return true;

        CloseServiceHandle( hService );

        CloseServiceHandle( hSCManager );

        hDevice = CreateFileA( DEVICE_NAME,GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL );

       }

       BOOL UnloadDriver()

       {

        SC_HANDLE hSCManager = OpenSCManager( NULL, NULL,SC_MANAGER_CREATE_SERVICE );

        SC_HANDLE hService = OpenService( hSCManager, SERVICE_NAME, DELETE | SERVICE_STOP );

        SERVICE_STATUS ss;

        if (ControlService( hService, SERVICE_CONTROL_STOP, &ss ))

        return true;

        else

        return false;

        CloseServiceHandle( hService );

        CloseServiceHandle( hSCManager );

       }

       ---------------------------------------------

       程序刚开始运行 LoadDriver()成功,再UnloadDriver()成功,然后再次LoadDriver()却失败了! 如果关闭程序再重新打开, LoadDriver()又是成功的!! 呕血....