Windows NT 裝置驅動程式開發基礎(8) (轉)

worldblog發表於2007-12-12
Windows NT 裝置驅動程式開發基礎(8) (轉)[@more@]1.4 的編譯連結,、和啟動。 
 
  NT下編寫驅動程式的環境被稱為為DDK(Device  Kit) For Micro 
soft Windows NT,這是一個命令列下的工作環境。但是在安裝DDK之前需要安裝 
SDK(Software Development Kit)以及  Visual C++。 
 
 編譯連結器為Build.exe,他從s中讀出待編譯的程式的配置,包 
括原始檔、目標檔案等,從環境變數Include中得到引用檔案的地址,然後Visual 
C++的編譯連結器Nmake.exe進行實際的編譯連結工作。日誌檔案build.log,build.wrn 
,build.err 中分別記錄了編譯連結中的命令列,遇到的錯誤,遇到的警告。編譯 
完成後的檔案字尾為.sys 
 
 安裝過程分兩步:第一,將編譯成的.sys檔案複製到Windows NT的System32Dri 
vers下;第二,在登錄檔的HKEY_LOCAL_MACHINESYSTEMCurrentControlSetService 
s下建立與.sys檔案同名的鍵,然後在之下建立名為Start,Type, ErrorControl的三 
個REG_D型別的數值鍵。其中Start的鍵值控制該驅動程式在啟動的哪個階段被 
啟動。小於3的數設定該驅動程式在系統啟動的某個階段被自動啟動;3表示需要管理員 

手動啟動;4表示該程式被禁用。設定完畢後需要重新啟動系統。 
 
 手動啟動和停止一個驅動程式需要使用控制皮膚(ControlPanel)中的裝置(Device 
)圖示。 
 
 由於驅動程式的結構比較複雜,而且除錯核心的程式碼需要兩臺安裝有Windows NT 
的,比較麻煩,所以在編寫一個較複雜的驅動程式的過程中應分步來進行測試。 
在完成任何一部分工作後都應進行測試,以便及早地發現錯誤。根據本人的,驅動 
程式中的大多數錯誤都是由於不正確地訪問造成的。比如使用未被初始化的指標, 
釋放已經被釋放的記憶體,在DISPATCH_LEVEL或以上的執行級別引用分頁的記憶體。 
 
 
-- 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-992245/,如需轉載,請註明出處,否則將追究法律責任。

相關文章