利用DriverStudio开发驱动程序比直接调用DDK开发起来要方便快捷的多。就像利用MFC开发一般的桌面程序一样,而非选择SDK进行程序的编写。换句话说,DriverStudio和DDK的关系就像MFC和SDK的关系一样,DriverStudio只是对DDK中的各种结构、函数进行了封装,方便开发人员进行底层函数的调用,如DriverStudio的Kirp类就是对DDK中IRP所有操作的封装而已。
授权:免费软件 大小:113M 语言: 简体 下载地址
下面简单介绍一下利用DriverStudio3.2开发一个USB驱动程序的步骤。这个USB设备有3个双向端点,每个端点配置如下:
EP 类型 地址 buffer(Bytes)
0 IN/OUTControl 0x80/0x00 16/16
1 IN/OUTBulk 0x81/0x01 64/64
2 IN/OUTBulk 0x82/0x02 64/64
驱动程序需要实现功能就是控制设备上LED灯亮和灭,以及通过Endpoint2对设备进行读写。
由于DriveStudio由几个部分组成,我们写这个驱动程序只要用到DriverWork。在这里,我们假定读者已经正确安装了DriverWorks,并且已经编译了各个库文件(见本博客前面介绍内容)。
1、启动VC,从VC IDE菜单"DriverStudio"中选择"DriverWizard",如图1所示对话框中,写上项目名称。在这里,我们将这个项目称为:TEST,所在目录为D:/TEST。然后点按钮"Next>";
图1
2、在接下来这个对话框中(如图2),我们需要选择驱动程序类型。由于USB设备驱动程序是WDM类型,所以我们在的一个单选按钮中选择“WDM Driver”;第二个单选按钮是指所编写的驱动程序是否需要C++框架的支持,如选择该项,所生成的驱动程序类被封装成驱动类和设备类两大类,否则驱动程序类以DDK形式出现,通常选择支持C++框架。点按钮"Next >"。
图2
3、在接下来这个对话框中(如图3),我们需要选择驱动程序类型。由于USB设备驱动程序是WDM类型,所以我们选择第二项并且点按钮"Next >"。
图3
4、在第4个对话框中(如图4),选择我们驱动程序所操作总线类型。这里,我们选择USB。在USB Vendor ID和USB Product ID中填入USB设备VID和PID。假定我们USB设备VID和PID分别是16进制0471和1801。然后点按钮"Next >"。