windows过滤驱动程序设计入门(驱动程序基本结构,设备栈,IRP栈和工作原理)

本文介绍了Windows驱动程序设计中的核心概念,包括设备栈、IRP和服务请求包的工作原理。详细讲解了设备对象的创建、IRP的生命周期及传递过程,以及如何在驱动中处理和传递IRP。同时,提到了关键API如IoAttachDeviceToDeviceStackSafe和IoCallDriver的使用,帮助读者理解驱动开发中的关键步骤。

最近在学习windows驱动设计,认真看了些教材后总结了我认为驱动中都会涉及到,也最重要的概念,和大家分享。如果有说的不对的请大家留言指出。谢谢!

这里主要是写概念,代码涉及的不多也不详细,但是我会说出涉及到的API,详细的使用细节大家可以自己动手搜搜。掌握下面的概念之后,看驱动开发的教材里的代码,或者理解教材里说的内容应该就顺利很多!


 

过滤驱动程序概括:

对于windows驱动程序设计来说,理论上,我们要做的就是创建设备对象(包括完成这个设备对象内部的功能、参数等),然后将这个设备对象绑定到我们要过滤的设备上。一个设备对应一个驱动对象,而一个驱动对象可以生成许多设备对象,这些设备对象是实现功能、完成任务的东西(我们在程序中反复玩弄和折磨的就是他们)。

 

 

驱动的层次结构架构:

 

------------------------------------------------------------------------------------------------------------------------------------------------

上层应用(调用系统API,希望完成一些工作)

------------------------------------------------------------------------------------------------------------------------------------------------

IO控制器(解析上层请求,向下层发IRP包)

------------------------------------------------------------------------------------------------------------------------------------------------

N层过滤驱动(拦截IRP包,做预处理)

--------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值