共用方式為


撰寫核心驅動程式

重要

新式列印平臺是 Windows 與印表機通訊的慣用方法。 我們建議您使用Microsoft的 IPP 收件匣類別驅動程式,以及列印支援應用程式 (PSA),自定義 Windows 10 和 11 中的列印體驗,以進行印表機裝置開發。

如需詳細資訊,請參閱 新式列印平臺列印支援應用程式設計指南

列印驅動程式寫入器可以使用 Windows Vista 提供的核心驅動程式功能。 若要建立核心驅動程式,請產生 GUID,讓其他驅動程式套件可用來參考組成核心驅動程式的檔案集。 例如,在 Ntprint.inf 中,Unidrv 核心驅動程式檔案定義會顯示在下列範例中:

[Microsoft.NTx86]
"{D20EA372-DD35-4950-9ED8-A6335AFE79F0}" =  
  {D20EA372-DD35-4950-9ED8-A6335AFE79F0}, 
  {D20EA372-DD35-4950-9ED8-A6335AFE79F0}
[{D20EA372-DD35-4950-9ED8-A6335AFE79F0}]
CopyFiles=UNIDRV,PJLMON.DLL,@TTFSUB.GPD,@LOCALE.GPD,@MSXPSINC.GPD
[UNIDRV]
; Unidrv files and pjlmon sections follow...

使用此定義,列印驅動程式 INF 檔案可以使用 CoreDriverSections 關鍵詞來參考核心驅動程式檔案,如上一個範例所示。

請務必注意,核心驅動程序必須保留與舊版的相容性。 因為一個以上的驅動程式可能會使用核心驅動程式,所以它必須繼續使用更新時相依的現有驅動程式。 核心驅動程序必須隨附為驅動程式套件的一部分。

核心驅動程式是使用 Model 區段來定義,其中包含核心驅動程式 GUID 的裝置描述。 例如:

; Model section
[Company.NTx86]
"{GUID1}" = {GUID1}, {GUID1}

; Install section - must list all files in the core printer driver
[{GUID1}]
DriverVer = MM/DD/YYYY,1.1.1.1
CopyFiles=MANUFACTURER_CORE_FILESET

; Core Driver Section, can use print-specific INF keywords here
[MANUFACTURER_CORE]
CopyFiles=MANUFACTURER_CORE_FILESET

[MANUFACTURER_CORE_FILESET]
File1.dll
File2.dll
File3.dll

[ControlFlags]
AlwaysExcludeFromSelect = {GUID1}

核心驅動程式必須使用 DriverVer 關鍵詞,在安裝區段中包含版本資訊。 install 區段也必須列出核心驅動程式所需的所有檔案。 使用新的 AlwaysExcludeFromSelect 關鍵詞,確保不會在 UI 中向用戶顯示核心驅動程式。