Windows 程式設計/DDK
Windows DDK 附帶 CD,並提供許多不同的選項。具體來說,DDK 能夠為許多不同的平臺(Win9x、WinNT、WinServer)編寫裝置驅動程式,並且能夠針對多個不同的處理器(IA-32、IA-64 和 Itanium)。在每個處理器上安裝每個平臺所需的元件可能佔用大量硬碟空間。此外,DDK 還附帶了許多關於如何編寫從並行埠控制器到檔案系統驅動程式、顯示驅動程式和乙太網驅動程式等各種內容的示例。安裝所有示例也可能佔用大量磁碟空間。
另請參閱:獲取 DDK
DDK 附帶了許多不同的批處理檔案,這些檔案將建立一個合適的驅動程式程式設計環境。不同的批處理檔案將建立一個環境,用於為特定的作業系統/處理器組合進行程式設計。每個不同的環境都將設定一些全域性變數,編譯器和連結器將讀取這些變數,以決定程式碼生成的方案。使用錯誤的環境編譯驅動程式會導致驅動程式可能與您的系統不相容(並且可能會使您的計算機不穩定)。
對於每個目標平臺,都有兩個環境可用:檢查和自由。檢查環境本質上是一個除錯環境,它將向已編譯的驅動程式新增額外的除錯膨脹,並執行額外的錯誤檢查和警告。然而,自由環境不包含任何除錯資訊,只應用於編譯完全除錯的裝置驅動程式。
DDK 附帶編譯器:cl.exe,連結器:link.exe 和彙編器:ml.exe。在編寫裝置驅動程式時,建議您只使用這些特定檔案,並且不要使用您計算機上可能存在的任何其他版本的這些程式(無論是來自 SDK 還是 Visual Studio)。DDK 還將附帶許多標頭檔案。您可能熟悉其中一些標頭檔案,但其中一些將包含核心模式庫的函式原型,大多數程式設計師都不熟悉這些函式。
DDK 定義了許多不同的資料結構,供裝置驅動程式使用。但是,由於驅動程式在核心模式下執行,因此重要的是要意識到這些結構的許多欄位僅供核心內部使用,您的驅動程式不應該修改它們。這些資料欄位被稱為結構的“不透明”成員,應該像對待 C++ 類的“受保護”或“私有”成員一樣對待。在本華夏公益教科書中未明確提及的資料欄位應被視為可疑,如果有關於特定資料欄位的可用性和使用情況的任何未解決問題,請諮詢 MSDN 或 DDK 文件。
裝置驅動程式應始終在安裝到系統之前進行徹底的除錯。如果在系統中安裝了有缺陷的裝置驅動程式,它可能會在引導時破壞核心,使整個系統不穩定,甚至完全無法使用。解除安裝有缺陷的驅動程式可能很困難,尤其是在您需要對計算機執行救援引導操作時。裝置驅動程式應謹慎編寫,並在安裝之前進行全面除錯。