很多写Windows Device Driver的开发人员基本上都是使用Windows DDK进行开发的
但是,现在也有不少人都开始借助一些辅助工具
笔者去年开始接触到 DriverStudio,发现它真的是一个不错的开发工具,不仅写代码的时候思路清晰,而且和 DDK 的结合很好
当然,也有很多人觉得用DriverStudio 不够正宗,或者说不能很好的理解 Windows Device Driver 的架构
我感觉这就有点像 MFC 和 SDK 的关系,关于这个问题在很多地方都有争论,比如在万千新闻组上,就讨论了将近 2 个月
每个人都有自己的最爱,都有自己的习惯,只要你能把事情做好,我想用什么方法应该都是一样的
如果你已经习惯了用DDK 开发,那完全还可以继续用下去;如果你觉得 DriverStudio 不错,那尝试用一个可以给你按照 OOP概念来编程的工具有什么不好呢
在驱动开发网上,经常看到有人询问一些关于 DriverStudio 的使用的问题
我正好很有幸用它作了几个驱动程序,包括 VXD, KMD 和 WDM,稍微有点心得,因此想写下来给大家作一个小小的参考
如果其中有错误,欢迎大家给我指出,谢谢
下面我就介绍一下用DriverStudio 开发一个 USB 驱动程序的过程
这个 USB 设备有 3 个双向端点,每个端点的配置如下: EP 类型 地址 buffer(Bytes) 0 IN/OUT Control 0x80/0x00 16/16 1 IN/OUT Bulk 0x81/0x01 16/16 2 IN/OUT Bulk 0x82/0x02 64/64 我们的驱动程序需要实现的功能就是控制设备上的LED 灯的亮和灭,以及通过 Endpoint 2对设备进行读写
由于 DriveStudio 由几个部分组成,我们写这个驱动程序只要用到 Drive