从事驱动开发也有一段时间了,从最初的无头苍蝇到懵懵懂懂,到入门,直至今天,感觉一路走来,走了不少的弯路,只因为没有人引导。前几天,一个朋友问到我怎么学习Windows驱动开发,我就想到把我学习Windows驱动开发的过程分享一下,也算我的一点总结。
我总结了一下,大概分为这么几部分内容:
第一讲:开发环境与工具篇
主要讲述驱动开发的工具、调试的工具,开发环境的配置等知识,通过本篇的学习,您能配置好Windows驱动开发、编译、调试的基本环境,为下一步的开发打下坚实的基础。
第二讲:我的第一个驱动
为了方便驱动开发的学习,我们通过一个简单的驱动程序来直观的了解一下驱动程序的开发。
第三讲:Windows驱动的结构
本篇主要讲解Windows驱动程序的结构,分别讲解NT驱动和WDM驱动程序的结构。然后呢讲解一下驱动程序中的一些重要的数据结构IRP、DriverObject等。
第四讲:基本编程技术
在了解了Windows驱动程序的基本结构之后,我们就需要学习一下基本的编程技巧--内核函数的使用,主要包括字符串的操作、文件的操作、以及常用内核函数的命名特点
第五讲:Windows内存管理
在内核程序开发过程中,内存管理是一个比较重要的项目。本篇主要讲解Windows的内存管理机制,并且使得大家能够掌握如何在驱动中有效的使用内存。
第六讲:同步
同步主要包括两块,驱动程序的同步和IRP的同步
第七讲:定时器
在驱动程序编程中,经常会用到定时器,这一篇将详细的介绍一下定时器的使用和实现。
第八讲:即插即用Pnp
即插即用是WDM驱动的一个重要特性,这是Windows2000以及后续版本的一个重要功能,为此,我们在这一篇中介绍一下驱动程序中如何实现设备的即插即用。
本篇属于开篇的话题,从下一篇起,我们将走近Windows驱动程序的开发。Step by step 学会Windows驱动的开发。
此文章来自于【http://blog.csdn.net/caperingrabbit/article/details/5280043】