ljlOnil
驱动牛犊
驱动牛犊
  • 注册日期2002-10-29
  • 最后登录2010-08-28
  • 粉丝0
  • 关注0
  • 积分23分
  • 威望118点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1095回复:1

USB通讯问题,着急啊

楼主#
更多 发布于:2009-04-09 00:47
我用DDK做了一个USB驱动,已经能正常通讯了,但是在循环写Pipe1端口,写几次驱动就不响应了,调试发现停在status = KeWaitForSingleObject( &event, Executive, KernelMode, FALSE, NULL );,以下时通讯程序,这会是什么原因呢????


    KeInitializeEvent(&event, NotificationEvent, FALSE);

    Irp = IoBuildDeviceIoControlRequest(
                    IoControlCode, dx->NextStackDevice,
                    NULL, 0,    
                    NULL, 0,    
                    TRUE, &event, &IoStatus);

    NextIrpStack = IoGetNextIrpStackLocation(Irp);
    NextIrpStack->Parameters.Others.Argument1 = UrbEtc;

    status = IoCallDriver( dx->NextStackDevice, Irp);
    if (status == STATUS_PENDING)
    {
                              status = KeWaitForSingleObject( &event, Executive, KernelMode, FALSE, NULL );
        if( status != STATUS_SUCCESS )
        {
            TRACE1( "KeWaitForSingleObject faild :0x%x" , status );
        }
        status = IoStatus.Status;
    }
ljlOnil
驱动牛犊
驱动牛犊
  • 注册日期2002-10-29
  • 最后登录2010-08-28
  • 粉丝0
  • 关注0
  • 积分23分
  • 威望118点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-04-09 22:08
自己顶
游客

返回顶部