利用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 >"。