用driverstudio開發驅動程式–入門篇

來源:互聯網
上載者:User
http://www.driverdevelop.com/
副標題:
作者:楊軍 文章來源:本站原創 點擊數:

10975 更新時間:2004-2-22

編者按:本文的內容主要由DriverStudio的隨機文檔翻譯整理而來。本文的讀者最好有以下軟體:DriverStudio2.5,Visual Studio6.0,以及Windows 2000 DDK。本文假設你已安裝了這些軟體。DriverStudio2.5可在驅動開發網(www.Driverdevelop.com)下載到測試版,Windows 2000 DDK可在微軟的網站免費下載,Visual Studio 6.0 需要購買。
作者:楊軍  E-mail:y9980@263.net
用DriverWorks為 Windows 98 , Windows Me, Windows NT , Windows 2000 ,和 Windows XP 開發驅動程式
簡介
    DriverWorks 通過提供強大並且先進的代碼產生嚮導——DriverWizard,還有庫和例子中成千上萬行經過嚴格測試的代碼,簡化了裝置驅動程式的開發。
    Windows NT 和 WDM 驅動程式介面為物件導向方法的應用提供了良好的條件。DriverWorks 充分利用作業系統物件導向的優良特性,與微軟的 DDK 相比,它為設計基於 Windows NT 和 WDM(驅動程式設計模型)的驅動程式提供了更加友好的方式。使用 Driverworks,設計人員能以更快的速度開發 NT 和 WDM 驅動程式。在大多數情況下,DriverWorks 函數庫的使用,可以大大減少驅動程式的代碼長度。利用這些精心設計的函數,你幾乎可以完成所有的工作。當然,DDK的C語言級的API函數也是可用的。

注意:Windows NT 裝置驅動程式能運行在 Windows NT 或 Windows 2000 上;而 WDM 裝置驅動程式能在 Windows 98 , Windows Me ,Windows 2000 ,和 Windows XP 上運行

    DriverStudio把那些每個驅動程式都需要的代碼都封裝成類庫。庫代碼自動地處理例行的操作,這極大地簡小了任務的複雜度。
  而且,C++編譯器提供了ANSI C 所不具備的優點: 包括改進的型別安全檢查,內連函數最佳化,以及更好的程式碼群組織。
    DriverWizard——DriverWorks 的代碼嚮導,與微軟的Visual C++ 緊密的整合。超過1500行的驅動程式原始碼架構只需幾次滑鼠點擊就可完成。這些代碼還包含了詳細的注釋。另外,DriverWizard 還能產生專為特殊裝置定製的代碼,比如:USB裝置,PCI裝置,隨插即用裝置,ISA 裝置,等等。
    DriverStudio對Microsoft Developer Studio 的支援遠不止用 DriverWizard 構造一個新工程這麼簡單。DriverWorks 提供了完整的和Microsoft Developer Studio 相似的開發環境,包括 checked 和 free 編譯環境,相似的代碼編輯器,錯誤碼定位,以及類瀏覽器。

編譯庫
    在你利用DriverWorks開始工作之前,你必須編譯需要的庫檔案。你可以在Microsoft Visual Studio 環境中,或者用命令列方式編譯庫檔案。
    下面介紹怎樣在VC環境中編譯庫。
     1.啟動Visual C++ 。
     2.選擇菜單 File|Open Workspace。開啟位於DriverStudio\DriverWorks\Source\vdwlibs.dsw的工作空間檔案。
     3.選擇菜單 Build|Batch Build,在彈出的對話方塊中選擇你想編譯的庫。
     4.點擊Build編譯你選擇的庫。
     怎樣用命令列方式編譯庫,這裡省略。

 

測試你的安裝
   如果你想用命令列(不是在Microsoft Visual Studio中)編譯一個簡單的驅動程式例子,你必須先運行兩個批次檔(尾碼為.bat的檔案),這兩個檔案在DDk和Visual C++中。你也可以簡單的通過運行開始菜單 程式/Development kits/Windows 2000 DDK 中的 Checked Build Environment 或 Free Build Enviroment 來完成此操作。
   第一批次檔是 SETENV.BAT ,並且它要求 2 個參數:第一個是DDK 的根目錄,第二個是"free" 或 "checked"。第二個參數告訴編譯系統是否在驅動程式中加入調試資訊。第二批次檔是 VCVARS32.BAT ,它為編譯器建立路徑。

編譯例子程式
   對 Windows NT 4.0 來說,最簡單的例子在DriverStudio\DriverWorks\Examples\NT\HELLO 檔案夾裡。你可以編譯這個例子,然後用DriverMonitor裝載它
    對 WDM 驅動程式( 用於Windows 98 , Windows Me, Windows 2000 ,和 Windows XP ),最簡單的例子在 DriverStudio\DriverWorks\Examples\WDM\HELLOWDM 檔案夾裡。你編譯它,然後用控制台鐧奶砑有掠布虻祭醇釉亍?
    如果你有 Microsoft Visual C++ 5.0 或更新的版本,你可以開啟工作空間檔案%DRIVERWORKS%\examples\nt\hello\hello.dsw ,然後在Visual C++環境中編譯。編譯 WDM 驅動程式,請用 HELLOWDM 例子。
如果你想從命令列編譯,請按下面的方法設定工作目錄,然後運行Build程式編譯:

cd\ProgramFiles\Numega\DriverStudio\DriverWorks\ examples\nt\hello
build

    請查看輸出檔案“ build.log ”(或“ buildchk.log ”或“ bldfre.log ”)看是否有錯誤。

在Windows 98和Windows Me 中裝載驅動程式
   首先拷貝HELLOWDM.INF檔案到系統檔案夾。然後開啟控制台,運行添加新硬體嚮導。在添加新硬體嚮導的第一步中,選擇從“列表中選擇硬體”,注意HELLOWDM在其他硬體中。當詢問製造商時,選擇從磁碟?裝,定位到INF檔案所在的目錄。如果你在安裝時運行了DriverMonitor,你將會看到驅動程式彈出的訊息。安裝完成後,開啟控制台中的系統表徵圖,安裝的裝置會出現在裝置管理員中。

在Windows NT, Windows 2000, 和 Windows XP中載入驅動程式
   對於Windows 2000 和 Windows XP 中的WDM 驅動程式,方法與前面介紹的類似。
   對於Windows NT ,Windows 2000 和 Windows XP上的非WDM 驅動程式,運行 DriverMonitor 證實你的驅動程式工作正常。請注意 HELLO.SYS 將被建立在.\I386\*目錄,此出的*取決於你的編譯環境是 checked 還是 free。
   當你從 DriverMonitor 裝載 HELLO.SYS 時,你應該在視窗中看到確認資訊,然後是驅動程式發出的HELLO訊息。
注意:在 Windows NT 下裝載裝置驅動程式,你需要以系統管理員帳戶登入。
如果你沒有足夠的許可權安裝核心模式驅動程式,DriverMonitor 會提示錯誤訊息。


http://tenyear.net/Article/ShowArticle.asp?ArticleID=186

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.