印表機 INF 檔案專案
重要
我們建議您使用 Microsoft 的 IPP 收件匣類別驅動程式以及 PRINT Support Apps () ,在印表機裝置開發時自定義 Windows 10 和 11 的列印體驗。
如需詳細資訊,請參閱 列印支援應用程式設計指南。
若要讓安裝應用程式在印表伺服器上安裝印表機,它必須呼叫多任務緩衝處理器的 AddPrinterDriverEx 函式來載入驅動程式檔案,然後呼叫多任務緩衝處理程式的 AddPrinter 函式,讓印表機可在伺服器上使用。
AddPrinterDriverEx 函式需要DRIVER_INFO_3結構做為輸入,而 AddPrinter 函式需要PRINTER_INFO_2結構做為輸入。 默認 Windows 2000 或更新版本的印表機類別安裝程式 Ntprint.dll 會讀取印表機 INF 檔案,以取得在呼叫函式之前必須放在這些結構中的字串值。
已定義 Ntprint.dll 辨識印表機驅動程式的一組 INF 檔案專案。 這些專案格式如下:
EntryName = 價值
其中 EntryName 是識別專案的字串, 而 Value 是指派給專案的字串值。
下表列出應該包含在印表機 INF 檔案中的 INF 檔案專案。 針對每個項目,數據表包含下列專案:
應該指派給專案的值。
如果未定義專案,則 Ntprint.dll 使用的預設值。
結構成員,Ntprint.dll 在其中放置專案值的指標。
INF 檔案專案 | 值 | 如果未指定專案,則為預設值 () | 結構成員 |
---|---|---|---|
ConfigFile | 驅動程式印表機 介面 DLL 的名稱。 | 為 DriverFile 指定的值。 | DRIVER_INFO_3 結構的 pConfigFile 成員 |
DataFile | 驅動程式相關數據檔的名稱,例如PPD檔案。 | INF 檔案中的驅動程式區段名稱。 | DRIVER_INFO_3 結構的 pDataFile 成員 |
DefaultDataType | 未與 NT 型作業系統搭配使用。 | ||
DriverCategory | 請參閱 附注 1,請遵循下表。 | 如果 INF 檔案未指定驅動程式類別 (與大部分 v3 驅動程式) 一樣,則假設驅動程式的類別是 PrintFax.Printer。 | 無 |
DriverFile | 驅動程式印表機 圖形 DLL 的名稱。 | INF 檔案中的驅動程式區段名稱。 | DRIVER_INFO_3 結構的 pDriverPath 成員 |
ExcludeFromSelect | 請參閱 附注 2,請遵循下表。 | 無 | 無 |
HelpFile | 介面 DLL 說明檔的名稱。 | 無。 未指定說明檔。 | DRIVER_INFO_3 結構的 pHelpFile 成員 |
LanguageMonitor | 要與印表機驅動程式相關聯的語言監視器名稱。 請參閱 LanguageMonitor 值格式 一節。 | 無。 未指定語言監視器。 | DRIVER_INFO_3 結構的 pMonitorName 成員 |
PrintProcessor | 要與印表機佇列相關聯的印表處理器名稱。 請參閱 PrintProcessor 值格式 一節。 | 會使用預設列印處理器 (WinPrint) 。 | DRIVER_INFO_2 結構的 pPrintProcessor 成員 |
VendorSetup | 廠商提供的 DLL 內處理 自定義印表機安裝作業的函式名稱。 | 無。 請參閱 下表後面的附註 3。 | 無 |
InboxVersionRequired | INF 參考之所有核心驅動程式的最低可接受版本。 如需 InboxVersionRequired 的詳細資訊,請參閱 INF InboxVersionRequired 指示詞。 | 無 | 無 |
1 (DriverCategory) :如果 INF 檔案指定類別,則允許的值 (0 到 5 分別) 指定類別:
驅動程序類別 | 值 | Description |
---|---|---|
PrintFax.Printer | 0 | 印列,代表透過本機或網路協定) 連線到電腦 (的印表機,或是另一部電腦上實體印表機的 Proxy。 當使用者列印到實體印表機時,結果會是紙上列印的檔。 |
PrintFax.Fax | 1 | 代表實體或虛擬傳真計算機的列印佇列。 當使用者列印到傳真印表機時,在進一步的使用者互動之後,結果 () 可能是傳送傳真。 |
PrintFax.Printer.File | 2 | 產生軟體複製檔的列印佇列。 當使用者列印到檔案印表機時,用戶必須先輸入檔名,然後多任務緩衝處理器會將列印的輸出傳送到該檔案。 檔案印表機一律需要檔名,但不需要其他用戶輸入。 當使用者沒有提供檔名的選項時,應用程式會產生可供多任務緩衝處理程式使用的檔名。 檔案印表機的常見範例包括 Microsoft XPS 檔寫入器 (MXDW) 和 PDF 寫入器。 |
PrintFax.Printer.Virtual | 3 | 具有驅動程式的列印佇列,會對列印後台處理程式不透明列印數據執行一些作業。 當使用者列印到虛擬印表機時,某些可能的結果包括列印檔儲存在計算機上某處、傳送至另一個應用程式,或透過電子郵件傳送。 列印至虛擬印表機的常見範例是列印文件傳送至 Microsoft Office OneNote 印表機的案例。 當使用者選取印至虛擬印表機時,可能需要進一步的用戶互動,由驅動程式或其他驅動程式元件起始。 如需詳細資訊,請參閱 印表機 INF 檔案中的虛擬印表機。 |
PrintFax.Printer.Service | 4 | 代表列印服務的列印佇列。 當用戶選取列印至服務時,結果 (在進一步的使用者互動之後) 可能是第三方列印服務收到列印的內容。 然後,使用者可以移至實體商務位置,以挑選列印的輸出。 |
PrintFax.Printer.3D | 5 | 列印佇列,表示 3D 印表機的數據流。 如果 2D 印表機不小心指定此類別, (一般印表機) ,則 2D 印表機只會輸出資料流的 2D 內容。 如果已針對 3D 印表機正確指定此類別,但 2D 數據流會傳送至 3D 印表機,3D 印表機將不會產生任何輸出。 |
另請注意,v4 列印驅動程式使用指令清單檔案。 如需詳細資訊,請參閱 V4 驅動程式指令清單。
注意
2 (ExcludeFromSelect) :不應該顯示在 [選取裝置] 對話框中或 [新增印表機精靈] 中不應該顯示的裝置裝置識別符。 對於印表機,這包括 INF 檔案中具有重複裝置描述之裝置的所有 PnP 專案;例如,具有多個專案以進行基礎結構和平行列舉或另一個總線的裝置。 ExcludeFromSelect 專案與此數據表中所有其他專案不同,必須出現在 INF 檔案的 [控件旗標] 區段中。 如需詳細資訊 ,請參閱 INF ControlFlags 一節 。
注意
3 (VendorSetup) :如果未指定 VendorSetup 專案,則不會執行自定義的安裝作業。 特別是,列印處理器、印表監視器或印表機驅動程式安裝期間不允許任何使用者介面,除非透過使用 VendorSetup INF 專案。 如需此項目的詳細資訊,請參閱 自定義印表機安裝作業。
重要
VendorSetup 現在已被取代,您開發的任何 新 v3 或 v4 驅動程式都不應該使用。 有關 VendorSetup 的這項資訊僅供參考,或維護已使用此 INF 指示詞的現有 v3 驅動程式。
印表機 INF 檔案專案通常會在 印表機 INF 檔案數據區段中指定。 如需範例,請參閱 範例印表機 INF 檔案。
LanguageMonitor 值格式
當 LanguageMonitor 專案包含在印表機 INF 檔案中時,值格式如下:
LanguageMonitor=“ MonitorName , MonitorDLLName ”
其中 MonitorName 是代表監視器顯示名稱的文字字串, 而 MonitorDLLName 是監視 DLL 的檔名。
PrintProcessor 值格式
當 PrintProcessor 專案包含在印表機 INF 檔案中時,值格式如下:
PrintProcessor=“ PrintProcessorName , PrintProcessorDLLName ”
其中 PrintProcessorName 是代表列印處理器顯示名稱的文字字串, 而 PrintProcessorDLLName 則是 DLL 的檔名。
相依檔案
若為 Windows 2000 和更新版本,相依檔案是印表機驅動程式檔案,包含在 印表機 INF 檔案安裝區段中 , 其 dirid 為 66000,但未指派給 DriverFile、DataFile、ConfigFile 或 HelpFile 專案。
下列範例顯示 INF 檔案的摘錄,其中會將三個相依檔案複製到 dirid 66000) 所指定的目錄 (,以安裝三個相依檔案:
[Contoso]
%PRINTER_MODEL_123%=Contoso_Install_Section,LPTENUM\Contoso_1284.4_P29C5
...
[Contoso_Install_Section]
CopyFiles=@Contoso.ini,@Contoso.xml,@Contoso.dll
...
[DestinationDirs]
DefaultDestDir=66000
...
[Strings]
PRINTER_MODEL_123 = "Contoso Printer Model 123"
在此範例中,Contoso.ini 是印表機 INI 檔案,Contoso.xml 是 bidi 擴展名檔案,而 Contoso.dll 是自定義元件。 如需印表機 INI 檔案、bidi 延伸模組檔案和自定義元件的詳細資訊,請參閱 安裝自定義驅動程式元件 和 雙向通訊架構。
點和列印 作業會在用戶端上安裝驅動程式和驅動程式相依檔案。
每個印表機型號最多可以指定 64 個相依檔案。
相關主題
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應