Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1817389
  • 博文数量: 272
  • 博客积分: 1272
  • 博客等级: 少尉
  • 技术积分: 1866
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-09 15:51
文章分类

全部博文(272)

文章存档

2016年(16)

2015年(28)

2014年(97)

2013年(59)

2012年(25)

2011年(47)

发布时间:2014-03-10 16:32:36

交换方式                                输入缓冲区               &nb.........【阅读全文】

阅读(2347) | 评论(0) | 转发(0)

发布时间:2014-03-07 12:09:59

读写操作设备对象一共可以有三种读写方式,分别是缓冲区方式读写,直接方式读写,其他方式读写。这三种方式的Flags分别对应为DO_BUFFERED_IO,DO_DIRECT_IO和0。在驱动程序创建设备对象的时候,需要考虑好该设备是采用何种读写方式。当IoCreateDevice创建完设备后,需要对设备对象的Flags子域进行设置。设置不同.........【阅读全文】

阅读(1468) | 评论(0) | 转发(0)

发布时间:2014-03-07 10:17:51

应用程序中对设备进行同步、异步操作,都必须得到驱动程序的支持。所有对设备的操作都会转化为IRP请求,并传递到相应的派遣函数中。可以有两种方式处理IRP请求,第一种是在派遣函数中直接结束IRP请求,即同步处理。另一种方法是在派遣函数中不结束IRP请求,而是让派遣函数直接返回。IRP在以后的某个时候再进行处理。1.........【阅读全文】

阅读(2545) | 评论(0) | 转发(0)

发布时间:2014-03-07 09:30:54

1.最高层驱动总是运行在发起该请求的程序所处的线程中。DriverEntry总是处在系统线程中,系统线程的空间不涉及到线性地址 0 - 2G。APC 是处在任意上下文中,它所在的线程取决于系统运行APC之前最后被挂起的那个线程。2. 所有不返回 STATUS_MORE_PROCESSING_REQUIRED的完成回调例程,需要使用下面的代码:NTSTATUS MyCo.........【阅读全文】

阅读(845) | 评论(0) | 转发(0)

发布时间:2014-03-05 15:39:10

在不同的场合,很多驱动编写人员需要在驱动和用户程序间共享内存。两种最容易的技术是: l 应用程序发送IOCTL给驱动程序,提供一个指向内存的指针,之后驱动程序和应用程序就可以共享内存。(应用程序分配共享内存) l 由驱动程序分配内存页,并映射这些内存页到指定用户模式进程的地址空间,并且将地.........【阅读全文】

阅读(725) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册