编写驱动必须清楚的三个概念(soft driver)

驱动中最核心的三个问题
1.输入输出请求包,irp(I/O request packet)
windows操作系统是消息驱动的,你需要的功能通过发送irp来请求完成。驱动在处理irp的时候需要考虑传进来的参数,资源的地址(虚拟地址),在什么时候有效。第2问题来解答

2.上下文,你写的代码在哪个上下文中跑(context)
要点:
 1).有三种上下文,系统,特定用户,任意
 2).虚拟地址的有效性,主要是数据,资源传输和访问的问题,能不能访问?第3个问题来解答

3.中断请求级,irq(Interupt ReQuest)
在高中断请求的时候应该注意的一些问题,在处理高中断请求的时候,代码所处的上下文是任意的

其中1和3涉及的东西比较多。。。。

剩下的问题就是你去熟悉windows的操作系统运行机制和内核的接口,多写代码,在这个过程中你会对前面的三个核心问题又有个新的认识,有新的认识后促使你更熟悉windows操作系统,一个良性循环

学习资料
1.windows ddk,ifs的帮助文档,最好读英文的^_^
2.windows 源代码
3.windows 出的internal系列的
Microsoft.Press.Microsoft.Windows.Internals.Fourth.Edition.Dec.2004.internal_English
4.inside 系列的
Inside Windows 2000(third version)_English
5.undocument 系列
Undocumented Windows 2000 Secrets
Undocumented Windows NT_Chinese
6.<<Microsoft Windows Driver Model>>

下次来讲如何调试和符号配置的问题

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值