-
-
[旧帖]
[原创]Windows驱动开发入门
0.00雪花
-
发表于:
2009-12-14 08:26
2167
-
[旧帖] [原创]Windows驱动开发入门
0.00雪花
因为公司有一个项目需要用到驱动的开发技术,因此自己也开始自己学习驱动的开发了。接触Windows驱动的开发也有几个月了,在这个过程中,虽然有工作的事情要忙,学的不是很专心,也看了不少书,自己也动手写了一点代码。可是过了几个月之后,我突然迷茫了,怎么感觉学的这么乱呢,我学了点什么东西啊,自己也回答不上来。我也想找高人指点一下,然而并未有人回应,于是我就自己思考。
这两天,我没怎么看新的东西,一直在思考我以前看的书和自己敲的代码,一点一点的总结,一点一点的回忆。慢慢地,理出一点脉络,与大家分享一下。
学习Windows驱动编程,开始的时候要直观的理解驱动程序的结构,这只是一个直观的印象,却能给人带来很多东西,尽量自己敲一下,即使是看一眼书敲一点也行(因为本人的技术起点比较低,就是采用了这种比较笨的方法,或许还有更好的)。
在熟悉了驱动程序的结构之后,就应该熟悉驱动程序开发的环境了,个人比较喜欢DDK,不过在写代码的过程中容易出现一些因为书写而出现的错误,也可由配置VC或者VS的环境,这样好一点,DS也挺好用的。
这些东西如果没弄好,就算去看原理,还是感觉写不出来没什么效果,就算有什么想法了,也没法动手实践一下,因为你对前面的东西并不熟悉。
熟悉了这些之后,应该说是知道了驱动开发的一些框架了,这时候应该能写出一个Helloworld一类的东西了。然后就是往框架里添具体的枝叶了,接下来学习驱动开发中场用的数据结构、Windows的内存管理、同步的问题、Pnp的处理等原理和具体的编程技巧。学习这些的时候,还是不能忘记动手,毕竟是做开发的,看看别的代码,没事敲敲,敲别人的也行,慢慢就能写出自己想要得到东西了。
驱动的调试是一个比较令人崩溃的活,需要就是耐心。
至于学习的资料,推荐从《Windows开发技术详解》看起,相对而言,起点比较低,容易上手。
接下来就是看看《Programming the Microsoft Windows driver model》,英文功底好的看原版,不好的就看看中文版的。
驱网的《寒江独钓》也蛮不错的,有了一点的基础之后,可以进行实例的开发,不错的参考书。
至于其他的资料,看看网上高手推荐的,我就不再赘述了。不过,不管看什么资料,都是需要耐心和自己的总结的,毕竟驱动开发不像普通的应用程序的开发那么容易。
ps:个人文档,请勿转载,转载请标明出处。同时发布csdn blog一份。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课