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