利用DriverStudio開發(fā)驅(qū)動程序比直接調(diào)用DDK開發(fā)起來要方便快捷的多。就像利用MFC開發(fā)一般的桌面程序一樣,而非選擇SDK進(jìn)行程序的編寫。換句話說,DriverStudio和DDK的關(guān)系就像MFC和SDK的關(guān)系一樣,DriverStudio只是對DDK中的各種結(jié)構(gòu)、函數(shù)進(jìn)行了封裝,方便開發(fā)人員進(jìn)行底層函數(shù)的調(diào)用,如DriverStudio的Kirp類就是對DDK中IRP所有操作的封裝而已。
授權(quán):免費(fèi)軟件 大小:113M 語言: 簡體 下載地址
下面簡單介紹一下利用DriverStudio3.2開發(fā)一個USB驅(qū)動程序的步驟。這個USB設(shè)備有3個雙向端點(diǎn),每個端點(diǎn)配置如下:
EP 類型 地址 buffer(Bytes)
0 IN/OUTControl 0x80/0x00 16/16
1 IN/OUTBulk 0x81/0x01 64/64
2 IN/OUTBulk 0x82/0x02 64/64
驅(qū)動程序需要實(shí)現(xiàn)功能就是控制設(shè)備上LED燈亮和滅,以及通過Endpoint2對設(shè)備進(jìn)行讀寫。
由于DriveStudio由幾個部分組成,我們寫這個驅(qū)動程序只要用到DriverWork。在這里,我們假定讀者已經(jīng)正確安裝了DriverWorks,并且已經(jīng)編譯了各個庫文件(見本博客前面介紹內(nèi)容)。
1、啟動VC,從VC IDE菜單"DriverStudio"中選擇"DriverWizard",如圖1所示對話框中,寫上項(xiàng)目名稱。在這里,我們將這個項(xiàng)目稱為:TEST,所在目錄為D:/TEST。然后點(diǎn)按鈕"Next>";

圖1
2、在接下來這個對話框中(如圖2),我們需要選擇驅(qū)動程序類型。由于USB設(shè)備驅(qū)動程序是WDM類型,所以我們在的一個單選按鈕中選擇“WDM Driver”;第二個單選按鈕是指所編寫的驅(qū)動程序是否需要C++框架的支持,如選擇該項(xiàng),所生成的驅(qū)動程序類被封裝成驅(qū)動類和設(shè)備類兩大類,否則驅(qū)動程序類以DDK形式出現(xiàn),通常選擇支持C++框架。點(diǎn)按鈕"Next >"。

圖2
3、在接下來這個對話框中(如圖3),我們需要選擇驅(qū)動程序類型。由于USB設(shè)備驅(qū)動程序是WDM類型,所以我們選擇第二項(xiàng)并且點(diǎn)按鈕"Next >"。

圖3
4、在第4個對話框中(如圖4),選擇我們驅(qū)動程序所操作總線類型。這里,我們選擇USB。在USB Vendor ID和USB Product ID中填入U(xiǎn)SB設(shè)備VID和PID。假定我們USB設(shè)備VID和PID分別是16進(jìn)制0471和1801。然后點(diǎn)按鈕"Next >"。