顯示具有 wdk 標籤的文章。 顯示所有文章
顯示具有 wdk 標籤的文章。 顯示所有文章

2009年8月28日 星期五

WDK + Microsoft Visual Studio 2008 Howto

安裝

Download Microsoft Visual Studio 2008 Express, and then install Visual C++ 2008 Express.

Dowload DDKBUILD.BAT, DDKBUILD.CMD, installer(ddkwizard) from here.(Manual is recommended)

複製 bbkbuild.bat, ddkbuild.cmd WDK安裝路徑下, ex: C:\WINDDK. 並執行安裝程式 - ddkwizard.


設定系統變數

在把install path加到系統變數Path(for ddkbuild.bat, ddkbuild.cmd).

新增一系統變數 WXPBASE 並給予變數值install path\{build number}.

Note: 俺的install pathC:\WINDDK{build number}7600.16385.0


設定Microsoft Visual C++ 2008

Run Wnidows Visual C++ 2008 Express.

工具 -> 選項 -> 專案和方案 -> C++目錄

選取右側的「顯示目錄(S)」為「可執行檔」,加入WDK執行檔的path

C:\WINDDK\{build number}\bin\x86

Note: 依情況增加路徑,或修改install path


選取右側的「顯示目錄(S)」為「Include檔案」,加入以下path

C:\WINDDK\{build number}\inc\ddk

Note: 依情況增加路徑,或修改install path


選取右側的「顯示目錄(S)」為「程式庫檔」,加入以下path

C:\WINDDK\{build number}\lib

C:\WINDDK\{build number}\lib\wnet\i386

Note: 依情況增加路徑,或修改install path


以上,完成環境設定。


Ms Visual C++ 2008中用WDK compile驅動程式

Step 1:

建立專案 -> DDK Project -> Empty Driver, 別忘了給專案一個名字.

Step 2:

接下來會看到Which DDK(s) do you want to use, 因為俺是在Windows XP下開發所以選擇Windows XP DDK

Note: 千萬別選「Create PREfast configuration」,不然會一直compile失敗,網路上好像也找不到原因,可能是我不會google的關係,再接再勵吧 !


Step 3:

複製WDK sample source files到專案目錄下

以俺的狀況為例, copy *.c, *.h, sources, makefile from

C:\WINDDK\{build number}\src\network\ndis\ndisprot\5x\sys

to project directory

C:\Documents and Settings\user name\My Documents\Visual Studio 2008\Projects\ndisprot\ndisprot


回到Ms Visual C++ 2008中的專案視窗

左方案總管Header Files -> 右鍵”加入” -> 現有項目

加入所有的header file


左方案總管Sources Files -> 右鍵”加入” -> 現有項目

加入所有的*.c, *.rc檔案


左方案總管Special Files -> 右鍵”加入” -> 現有項目

加入sources, makefile


上方功能表「建置」 -> 建置方案

Compile完沒有錯誤就代表成功了


另外有一個問題,雖然我們成功的compiledriver,但卻沒有安裝用的INF檔,可行的解決方式是到WDKsample裡找跟我們類型最接近的driver,拿它的INF來改。

2009年8月27日 星期四

WDK 安裝 Howto

開發Microsoft Windows驅動程式(driver)需要安裝Windows驅動程式套件 - Microsoft Windows Driver Kit (以下簡稱WDK),請見WDK官方網站。建議儘量使用Microsoft美國網站,因為台灣站內容的更新仍跟不上美國官網。此時官網中的WDK版本為7.0,筆者的OSWindows XP


下載WDK的方式有3種,可從Microsoft Download CenterMicrosoft Connect Web SiteMSDN Subscriptions下載,第1種是最方便的,後2種下載方式都複雜到爆炸(不能馬上下載對俺來說就爆了XD),因此不建議使用後2種。


下載的檔案是光碟映像檔(ISO),不用燒成光碟,使用虛擬光碟軟體可以把光碟映像檔如同實體光碟放在光碟機一樣來使用,虛擬光碟軟體有很多,筆者常用的是DAEMON TOOLS這套軟體,另外很多燒錄軟體有附虛擬光碟功能,例如:酒精。


喔,對了,Microsoft .NET Framework 3.5也要先裝好才可以裝WDK唷。


以下是安裝WDK的流程

Step 1: Installing WDK.

Note: 安裝路徑不要包含空白,不然可能會發生莫名奇妙的錯誤(你知道的,這就是Microsoft )

Note: 記得安裝Sample

Note: 不需要的套件就不要裝(Ex: Device Simulation Framework, Windows Device Testing Framework),以節省空間。

Note: 若系統中有舊版WDK,請不要安裝在同一目錄或把它覆蓋過,可能會因此在開發過程發生莫名奇妙的錯誤(你知道的,這就是Microsoft),請使用完全不同的目錄來安裝。


Step 2: Installing the Debuggers, X:\Debuggers\setup_x86.exe.

Note: X is the CD-ROM drive.


Step 3: 驗證WDK安裝是否成功, 驗證方式就是compile sample檔。

「開始」 → 「所有程式」 → 「Windows Development Kits」 → 「Windows DDK」→「Build Environments」 → 「 Windows XP」→ 「Windows XP Checked Build Environment


Note: sample path{install path}\src\{type}

Note: type有很多種,Ex: network, 1394, printer … etc.

Note: In my case, 只需要~\network\ndis\ndisprot, 將不需要的sample(請依情況調整)移出安裝路徑中src目錄。

Note: 在此值得注意的是我們選擇5.x而非6.0。因為NDIS 5.x driver支援windows 98windows 2003,而6.x則只支援windows vista之後的版本。

Note: ndisprot sample說明請見末頁。

Note: 在建置環境命令提示字元中輸入build –cZ便會進行compile動作。等一下 !!! 先不要執行指令,compile全部的sample很花時間,只compile需要的檔案就好。

Note: 如果要針對需要的檔案編譯,請切換到該sample的目錄下buildEx: ~\network\ndis\ndisprot\5x\sys

Note: test program也要compile,後面會用到。


若無任何錯誤訊息就代表成功了。恭喜(~) !! 接下來就是安裝到系統上來了。