摘要: 把功能复杂的驱动分解成多个简单的驱动。多个分层驱动程序形成一个设备堆栈,IRP请求首先发送到设备堆栈的顶层,然后以次穿越每层的设备堆栈,最终完成IRP的请求。1、相关概念分层驱动是指两个或两个以上的驱动程序,他们分别创建设备对象,并且形成一个由高到低的设备对象栈。IRP请求一般送到设备栈最顶层的设备对象。顶层设备对象可以处理该IRP请求,也可以向下转发。IRP请求结束时,按原路返回。1)_DEVI... 阅读全文
posted @ 2010-11-16 22:45 浪里飞 阅读(1977) 评论(0) 推荐(0) 编辑
摘要: 有两种方法,一种是以文件句柄的形式,另外一种是通过设备指针调用其它驱动程序。1、以文件句柄形式调用1)应用程序 调用 驱动A 调用 驱动B这种方法类似于在应用程序中调用驱动程序。在应用程序中用CreateFile,ReadFile,CloseHandle来操作相应文件,驱动中用ZwCreateFile,ZwReadFile,Irp结束操作。要注意:ZwCreateFile,如果是同步打开设备,则参... 阅读全文
posted @ 2010-11-16 21:59 浪里飞 阅读(2898) 评论(0) 推荐(0) 编辑