DeviceIoControl和ReadFile在读取硬件设备数据上面有什么区别望知道的XDJM能够解释下 啊~
谢谢·

解决方案 »

  1.   

    方式有很大区别
    你如果是通过DeviceIoControl发送IO控制码进行读取。还需要硬件支持和驱动定义完毕,一致才能进行读取如果是ReadFile的话,则驱动也需要实现IRP_MJ_READ。两者其实关系其实很密切。
      

  2.   

    对driver 而言,是两种访问方式。ReadFile 只能单向,Driver->AP 传 data。WriteFile相反。^_^
    DevIOCtrl 可自定义,双向单向比较灵活。当然需要Driver本身支援。
      

  3.   

    对于应用软件来说都是读数据就没什么区别了,只是调用的服务不同。
    对于驱动来说,需要实现的IRP不同,具体操作是自定义的。
      

  4.   

    不知道在读取的数据量方面有差别没?
    我现在仿照人家的数据已经读取上来啦?驱动当然也是配套写的。
    但是我仿照的人家的代码,在读取数据的时候用了DeviceIoControl判断FIFO里面读取上来的数据是否超过500之后再开始读数,如果超过500就用READFILE读数,不知道能不能在超过500之后用DEVICEIOCONTROL直接读?