windows内核学习02
来源:互联网 发布:江宁区政府网络问政 编辑:程序博客网 时间:2024/06/06 05:03
今天是周六,几个月周六就没休息过,连做了2个项目,第一个项目3个人,第二个项目就我一个人,是在是无聊啊。充其量大学生毕设难度的web程序,搞得那么复杂。OK不说了,既然这样就更要好好学习内核编程方面的知识,过2月换个地搞一搞。
这周看了一下一些WDM驱动的基础例程,I/O管理器是如何管理例程等等。在学习的过程中,给我一种感觉,就是编写windows这些驱动和ring3层下,用win32编写的上层应用程序有很多类似点。就比如他们最重要的,实际干事的那部分,驱动层叫做派遣,分发或者是dispatch函数,应用层也是用switch...case...来实现处理不同操作。他们同样是回调函数这种方式调用,而且看高手的博客,从只言片语中也能发现,都是微软一套路的东西,应该相似程度是很大的。所以在今后学习中,要联系起来,互相比较着学习,效率可能会高一点吧。
下面具体总结一下,然后来个小例子跑一跑,深刻理解一下。
DriverEntry例程
1.找到DriverEntry例程所控制的硬件
2.初始化。通过入口参数(指针)
3.IoCreateController穿件一个控制对象
4.IoCreateDevice为它控制的物理或者逻辑设备穿件一个设备对象,并且初始化Extension设备
5.使用IoCreateSymbolicLink函数,为win32应用层“暴露”一个关联名字。
6.联系“设备”和终端对象
7.重复4-6步
8.DriverEntry返回Success_Status
如果是WDM的驱动程序,则1,3-6步放在AddDevice中去。即插即用。
分享一个blog:http://www.zeroplace.cn/article.asp?id=394
- windows内核学习02
- windows内核学习1
- Windows内核学习笔记
- windows内核对象学习
- 学习windows内核一
- Windows内核学习:OS体系结构
- Windows内核学习点滴记录
- windows内核Api的学习
- Windows 内核数据结构学习总结
- Windows内核编程学习笔记
- 《windows核心编程》学习笔记 内核对象
- Windows内核学习:I/O系统
- Windows内核情景分析 学习日志之一
- Windows内核学习小记之系统启动顺序
- ARK---Kernel Star 学习windows内核
- windows内核情景分析学习笔记1
- windows内核情景分析学习笔记2
- windows内核情景分析学习笔记3
- Hibernate学习笔记1
- iphone ios 开源代码Tree20
- VI显示行号并加亮颜色
- HDU-1075 What Are You Talking About
- Hibernate学习笔记2
- windows内核学习02
- OpenVPN性能-多OpenVPN共享一个虚拟网卡
- Hibernate学习笔记3
- Linux 域名和ip 的对应关系写定
- 栈---数组---迷宫求解
- linux 远程控制详细安装 -- VNC (转)
- iostat的使用说明
- (3)主次设备号
- hdu_2029_Palindromes _easy version