insist
驱动牛犊
驱动牛犊
  • 注册日期2003-05-09
  • 最后登录2004-05-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:796回复:1

请大家帮忙看看这两个问题

楼主#
更多 发布于:2003-05-19 16:42
我有一段程序,碰到一点问题:
    schService = CreateService( SchSCManager,          
                                DriverName,          
                                DriverName,        
                                SERVICE_ALL_ACCESS,    
                                SERVICE_KERNEL_DRIVER,
                                SERVICE_DEMAND_START,  
                                SERVICE_ERROR_NORMAL,  
                                BinaryPath,    
                                NULL,                
                                NULL,                  
                                NULL,            
                                NULL,                
                                NULL          
                                );
    i = GetLastError();
if ( schService == NULL ) {
schService =  OpenService(SchSCManager, DriverName, SERVICE_ALL_ACCESS);
……
StartService( schService, 0, NULL );

SchSCManager肯定分配好了,
但是openservice 后的getlasterror的返回为ERROR_IO_PENDING,
那么,这种情况到底是对还是应该就这样?
我的drivername为自己编的一个.sys.
上段程序的目的是为了要install driver.

第二:
    driverHandle = CreateFile( DosDevice,
                          GENERIC_READ | GENERIC_WRITE,
                          0,
                          NULL,
                          OPEN_EXISTING,
                          attributes,
                          NULL
                          );
的返回为getlasterror为ERROR_INVALID_FUNCTION,启动服务不成功。
其中的DosDevice就是我的上面的drivername。
请问:这种情况一般是什么问题。会不会是.sys的问题,还是
注册表中没有配置好,还是这段程序本身的问题。
多谢大家赐教。
mailme
驱动老牛
驱动老牛
  • 注册日期2001-05-21
  • 最后登录2010-02-25
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-05-20 17:16
为什么不用guid?
早起早睡 精神百倍
游客

返回顶部