发布时间:2014-03-07 12:09:59
读写操作设备对象一共可以有三种读写方式,分别是缓冲区方式读写,直接方式读写,其他方式读写。这三种方式的Flags分别对应为DO_BUFFERED_IO,DO_DIRECT_IO和0。在驱动程序创建设备对象的时候,需要考虑好该设备是采用何种读写方式。当IoCreateDevice创建完设备后,需要对设备对象的Flags子域进行设置。设置不同.........【阅读全文】
发布时间:2014-03-07 10:17:51
应用程序中对设备进行同步、异步操作,都必须得到驱动程序的支持。所有对设备的操作都会转化为IRP请求,并传递到相应的派遣函数中。可以有两种方式处理IRP请求,第一种是在派遣函数中直接结束IRP请求,即同步处理。另一种方法是在派遣函数中不结束IRP请求,而是让派遣函数直接返回。IRP在以后的某个时候再进行处理。1.........【阅读全文】
发布时间:2014-03-05 15:39:10
在不同的场合,很多驱动编写人员需要在驱动和用户程序间共享内存。两种最容易的技术是: l 应用程序发送IOCTL给驱动程序,提供一个指向内存的指针,之后驱动程序和应用程序就可以共享内存。(应用程序分配共享内存) l 由驱动程序分配内存页,并映射这些内存页到指定用户模式进程的地址空间,并且将地.........【阅读全文】