dwResult=ReadFile(pDlg->hUSBRead,pDlg->m_bytaBuff,64,&cbMsg,&o);
郁闷,程序卡在这一句了。
怎么样才能解决???

解决方案 »

  1.   

    dwResult=ReadFile(pDlg->hUSBRead,pDlg->m_bytaBuff,64,&cbMsg,&o);
    dwResult=GetLastError();
    dwResult=WaitForMultipleObjects(2,h,FALSE,INFINITE);
    //dwResult=997      重叠 I/O 操作在进行中。 
    //这时候把掉USB,再插上USB。程序就死在这了,请问这问题该如何解决??
    switch(dwResult){
          case 1:
               ...;
          case 2:
               ...;
    }
      

  2.   

    创建一个线程去读,
    另外,使用WaitForMultipleObjects,不要随便的设置最后一个参数为INFINITE
    设置一个有限大的值比较好
      

  3.   

    怎么创建一个线程去读,能详细点吗?
    现在关键是把插USB后,无论什么操作都没用了,除非重启程序!
      

  4.   

    1.在线程中读取
    2.使用重叠IO的方式调用ReadFile