ddk中用到的ring0函数,在msdn2003中有,在msdn2005中没有了,改在了DDK文档中(winxp ifs develop kit和2003的ifs dk,容量分别为251M和388M)
不错的书:windows 2000 设备驱动程序设计指南(第二版)
感觉:Numega公司的DriverStudio环境,初学者如果不是项目逼得紧,尽量不使用,这个框架类似MFC,屏蔽了一些咚咚,不利于快速宏观上掌握DDK的架构:DriverEntry,AddDevice,Dispatch函数等。
最好按照windows DDK文档,用一个简易的文本编辑器手动一行行地书写代码。
经验:学习DDK开发,和从前的main或winmain为入口点的程序开发的一个很大的不同是:驱动程序开发类似于编写一系列的回调函数,很多时候你手里没有控制权,你只有写好一些函数,被windows在一个指定的运行序列中调来调去,我个人感觉最好先看一周的书,对于整个驱动程序框架有了一定的认识之后,再开始编写,我用惯了VC IDE,对于原始人一样手动编写程序感觉很不爽,也曾尝试寻找一些工具,比如DirverStudio,但是事实证明这些时间花费实在是得不偿失。建议选用UltraEdit一类的文本编辑器,至少比notepad具备C++关键字识别