利用DriverStudio開發(fā)驅(qū)動(dòng)程序比直接調(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)軟件 大?。?13M 語言: 簡體 下載地址
下面簡單介紹一下利用DriverStudio3.2開發(fā)一個(gè)USB驅(qū)動(dòng)程序的步驟。這個(gè)USB設(shè)備有3個(gè)雙向端點(diǎn),每個(gè)端點(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ū)動(dòng)程序需要實(shí)現(xiàn)功能就是控制設(shè)備上LED燈亮和滅,以及通過Endpoint2對設(shè)備進(jìn)行讀寫。
由于DriveStudio由幾個(gè)部分組成,我們寫這個(gè)驅(qū)動(dòng)程序只要用到DriverWork。在這里,我們假定讀者已經(jīng)正確安裝了DriverWorks,并且已經(jīng)編譯了各個(gè)庫文件(見本博客前面介紹內(nèi)容)。
1、啟動(dòng)VC,從VC IDE菜單"DriverStudio"中選擇"DriverWizard",如圖1所示對話框中,寫上項(xiàng)目名稱。在這里,我們將這個(gè)項(xiàng)目稱為:TEST,所在目錄為D:/TEST。然后點(diǎn)按鈕"Next>";

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

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

圖3
4、在第4個(gè)對話框中(如圖4),選擇我們驅(qū)動(dòng)程序所操作總線類型。這里,我們選擇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 >"。