好吧,我承认我的这个菜鸟系列教程没什么方向性的,因为我毕竟不是什么高手,而且是属于自学范畴,我只能通过不断的自我摸索来找寻属于自己的方向感,不得不承认这是比较辛苦的事情,特别是自己在这个领域“一穷二白”。也许有人说上手容易精通难,但个人觉得入门才是最困难,因为入门后想精通的话只是需要时间跟汗水,但入门最致命的地方是缺少方向,很明显,我就是这样。

从写应用程序转向写驱动程序,最让人头痛的是IDE的问题,DriverStudio我是没有用过了,但进入Win7\Win8的年代,那种没人再维护的东西就很顺理成章地退出自己的历史舞台了,VisualDDK跟VS2005\2008的搭配我用过一下下,但WDM的程序就算是工程配置我也根本无从下手,高手会用文本文档来写代码,我就算用VS但没VAX我也想死,古人云,工欲善其事必先利其器,开发驱动程序这种极其恶心的东西,若有一个像VS那样的编程平台那一定好受很多。

于是,VS2012就横空出世了,最让人惊喜的是微软将其所有平台下的开发环境特别是驱动开发环境集中在一个IDE下了,再也不用控制台来敲命令,这简直就是驱动开发的革命性的改变,可惜,VS2012驱动开发环境不支持XP(于是我以后也可以理直气壮地宣布不再支持XP)。VS2012好像是8月15日放出来的正式版,下载地址在http://msdn.microsoft.com/en-US/windows/hardware/gg454513 ,同学们自己挑选喜欢的版本,装好VS2012后,再下载WDK8.0(同上链接)进行安装,好像可以试用的,但在网上搜个序列号也不难,之前我用RC版来编译默认的DEMO工程编不过去,但重装系统+重装VS2012正式版就一切很正常,我也搞不清楚是怎么回事。

新一代的VS很有Metro的风格,个人很喜欢,够简约,用起来也不像VS2010那样耗系统资源,通过菜单栏的“文件”——“新建项目”,你可以看到VS2012里有很多类型的驱动工程,起码以后写基本的驱动框架不用那么头痛了。

好吧,装好VS2012及WDK8.0的话,同学们可以自己新建一个驱动工程来看看,入门的话可以选择UMDF项目——WDF是微软驱动以后的一个发展方向,起码从VS自动生成的驱动工程来代码看,比WDM要好看很多,按一个F7就可以编译驱动工程,最后生成的驱动文件全部放在编译目录的Package里,直接用inf安装就可以了,此文章的附件有一个UMDF Driver Skeleton Sample的工程,一个纯软件的UMDF工程,可以在MSDN上面搜出其说明文章,通过这个小工程可以大概了解WDF的架构,建议仔细看看。简单来说,我暂时还不清楚这驱动是怎么用的,所以我只是安装了但还没用VS2012进行调试过,以后吧。

另外推荐一本书,Ronald D.Reeves的《Windows.7.设备驱动程序开发》,网上可以找到其英文的PDF,当当上也有中文的书,里边对Skeleton这个例子有详细的解说,入门理解WDF概念的首选,而且一点也不厚。

IT人最致命的是落后潮流了,VS2012都出来了,大家好好玩玩,欢迎交流呢。