驅動程式套件包含您必須提供的所有軟體元件,以確保 Windows 支援您的裝置。 驅動程式套件通常包含下列元件:
- 安裝資訊 (INF) 檔案
- 目錄檔案
- 驅動程式檔案
- 其他檔案
驅動程式套件每個元件的簡短描述如下。
Windows 驅動程式套件 (WDK) 包含範例驅動程式套件。 如需詳細資訊,請參閱 裝置安裝檔案範例
INF 檔案
每個驅動程式套件都必須包含安裝資訊 (INF) 檔案,裝置安裝元件會在安裝裝置時讀取該檔案。 INF 檔案不是安裝腳本。 它是提供裝置和驅動程式資訊的 ASCII 或 Unicode (僅限 UTF-16) 文字檔。 安裝資訊包括驅動程式檔案、登錄專案、裝置標識碼、 目錄檔案,以及在裝置上安裝驅動程式套件所需的版本資訊。
INF 檔案的確切內容和格式取決於 INF 所宣告的 裝置安裝類別。 INF 區段摘要 說明每種 INF 類型中所需的資訊。 一般而言,每一製造商的信息位於 INF 模型 區段中。 Models 區段中的條目是指包含模型特定細節的 INF DDInstall 區段。
InfVerif 工具會檢查所有跨類別 INF 區段和指示詞的語法和結構,以及列印機以外的所有安裝類別的類別特定延伸模組。 InfVerif 工具位於 WDK 的 \tools 目錄中。
您可以使用單一 INF 檔案在所有 Windows作系統版本上安裝。 如需詳細資訊,請參閱 建立多個平臺和作系統的 INF 檔案。 如果您的裝置在國際市場銷售, 請建立國際 INF 檔案。 視涉及的地區而定,國際 INF 檔案可能必須是 Unicode (UTF-16) 檔案,而不是 ASCII。
為驅動程式建立 INF 檔案的好方法是修改 WDK 提供的其中一個範例。 大部分的 WDK 範例驅動程式都包含與範例驅動程式相同目錄中的 INF 檔案。
裝置的 INF 檔案至少必須包含下列資訊:
- 關於驅動程式套件支援的作業系統版本資訊
- 驅動程式套件的安裝類別 GUID 和安裝類別
- 驅動程式套件版本資訊
- 驅動程式檔案的名稱及其來源和目的地位置
- 裝置特定資訊,包括 硬體標識碼 和 相容的標識碼,可判斷驅動程式套件的適用性
- 目錄 (.cat) 檔案的名稱
- 載入每個驅動程式套件所提供之服務的方式和時機的相關信息
如果您的裝置涉及開機系統,安裝需求會有所不同。 請參閱 安裝開機驅動程式。
如需 INF 檔案的詳細資訊,請參閱 建立 INF 檔案。 此外,請參閱 InfVerif 的文件、WDK 中的裝置專用文件,以及與範例驅動程式一起提供的類似您裝置的 INF 檔案。
目錄檔案
驅動程式類別目錄檔案包含驅動程式套件中每個檔案的密碼編譯哈希。 Windows 會使用這些哈希來確認套件在發行后未變更。 為了確保目錄檔案不會改變,它必須具有使用此驅動程式套件的系統信任的 數字簽名 。
廠商藉由將其驅動程式套件提交至 Windows 硬體質量實驗室 (WHQL) 進行測試和簽署,以取得發行數位簽名。 WHQL 會傳回包含目錄檔案(.cat 檔案)的套件。 如需詳細資訊,請參閱 WHQL 發行簽章。
如需如何簽署驅動程式的資訊,請參閱公開發行的驅動程式簽署和開發與測試期間的驅動程式簽署。
INF 檔案必須在 INF 的 INF 版本區段中,使用 CatalogFile 指示詞參考目錄檔案。
驅動程式檔案
在大部分情況下,驅動程式套件包含一或多個驅動程式服務,這些驅動程式服務應該是安裝驅動程式套件之 裝置堆疊 的一部分。 如需驅動程式服務的詳細資訊,請參閱 選擇驅動程式模型。 驅動程式服務是套件的一部分,可提供裝置的 I/O 介面。 一般而言,驅動程式是具有的動態連結庫 (DLL)。sys 擴展名。 允許長檔名,但 開機啟動驅動程式除外。
支援特定裝置所需的軟體取決於裝置的功能及其連線的總線或埠。 Microsoft提供許多常見裝置的驅動程式。 如果其中一個驅動程式可以服務您的裝置,您可能只需要撰寫裝置特定的 迷你驅動程式。 迷你驅動程式代表系統提供的驅動程式處理裝置特定功能。 對於某些類型的裝置,甚至不需要迷你驅動程式。 例如,數據機通常只需要安裝檔案即可運作。
其他檔案
驅動程式套件可以包含其他檔案,例如硬體校正設定、Win32 服務、裝置圖示或驅動程序連結庫檔案。 如需詳細資訊,請參閱: