ReadFile函数中有五个参数,其中第三个参数是“我将要读取的大小”,第四个参数是“实际读取的大小”,第五个是一个重叠的结构
我现在的问题是:帮助上说此操作完成后返回!那么究竟什么是操作完成呢?????比如说我将要读取的是2K大小的数据,是不是说将“我要读取的字节数”读完才算是完成操作??还是说,将当前的串口缓冲区数据读完就算完成????或者其它?我现在做的程序需要串口通讯,在WINCE下还不能使用异步通讯,那么我在想我要将第三个参数设置成多少才合适!!!我的数据,每秒采集25次,每次的数据最大为20字节!!以前我用c#做的时候,每次读20个,刚开始还好,但过了一段时间,不知道为什么读到的每侦数据中多了很多的0,导致我解析失败!!!
恳请各位帮忙看看!!

解决方案 »

  1.   

    楼上的ifchen,你是说,只有超时才算是操作完成么?
    那么操作完成的概念是不是就是有以下的几种???
    1.在没有超时的情况下读取到了“将要读取的字节数”;
    2.超时,返回;
    3.如果字节间超时达到,返回。是这样的么?
      

  2.   

    这要看你是同步还是异步读取了 
    同步读取时会阻塞直到读到数据后才返回 
    异步读取则不一定,如果能立刻读取到,就返回TRUE,否则返回FALSE,然后需要判断GetLastError() 
      

  3.   

    to zhaoxiafei(最后一班地铁):
    我现在肯定是同步读取!那你说“同步读取时会阻塞直到读到数据后才返回 ”,是不是说如果不读取到“我将要读取的参数”就不返回???那么超时时返回么?