1.1 关于DDK
开发驱动程序必备的一个东西就是DDK(Device Development Kit,设备驱动开发包),它跟我们在ring3常听到的SDK差不多,只不过它们分别支持开发不同的程序而已。DDK 和微软其他的产品一样,具有良好的向后兼容性,比如你用DDK2000开发的驱动在DDKXP 里面同样可以编译,但反之却不能保证
DDK常见的版本有DDK2000、DDKXP等,不过现在微软推出的驱动开发包已经不叫DDK了,而是WDK(Windows Driver Kit,Windows驱动开发包)。同时您还可能听说过Driver Studio之类的驱动开发工具,其实那只是对DDK的简单封装,跟SDK与MFC的关系差不多,不过Driver Studio不仅仅是对DDK的封装,而是个完整的开发工具包,它提供了很多有用的工具用于驱动程序的开发和调试,不过这些工具我们可以单独提取出来使用。 DDK可以在微软的官方网站下载,当然也可以在Google搜索到很多链接,推荐至少使用DDKXP或更高的版本,下载到本地后直接双击安装就可以了。
1.2 关于驱动程序的编译
前面我们说了,DDK相当于在开发普通的ring3应用程序所使用的SDK,那么我们是否有与开发ring3应用程序对应的IDE呢,比如VC6.0、VC.NET2003、Delphi等。很遗憾,除了Driver Studio,关于驱动开发的IDE我知道的不多,多数情况下我们都是使用DDK提供的builder.exe在命令行下直接编译连接生成“.sys”文件,同时还需要自己编写makefile和sources文件。