我估计 需要继续读取,知道读取到指定大小的数据。而且,读取的时候,缓冲区不能无限大,因为驱动需要复制缓冲区,这样,很大的缓冲区在内核就不可能分配出来。
好的驱动会返回错误,坏的就蓝屏了。

解决方案 »

  1.   

    现在的问题是,比如我知道我最大能读到1000,但是数据流只到了400就结束了,我不知道他已经结束了
    如果我要再往后读取的话,就有可能越界!
      

  2.   

    第一,读取的缓冲区是你的,
    第二,读取后,实际读取到的大小也是会返回的。
    如果这个大小,你没有读完,那么就需要继续。知道读取到你期望的大小。
    当中任何错误,都错误返回。
    和越界没有任何联系。