共用方式為


使用增強的Point和 Print

重要

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

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

更新的印表機共用機制稱為增強的 Point 和 Print,它可讓印表端列印至 v4 共用,而不需從列印伺服器下載製造商提供的設備驅動器。

由於用戶端電腦與增強的 Point 和 Print 和 v4 印表機驅動程式的印表伺服器連線時,不會下載整個驅動程式套件,因此請務必注意下列架構。 此資訊應可協助您適當地開發和封裝 v4 印表機驅動程式。

Windows 8 用戶端連線行為

當 Windows 8 用戶端連線到使用 v4 印表機驅動程式的共用列印佇列時,用戶端會嘗試取得支援用戶端轉譯的驅動程式。 用戶端會在本機 DriverStore 中搜尋符合伺服器驅動程式 PrinterDriverID 的 HardwareID 驅動程式。 如果找到驅動程式,則會在本機安裝該驅動程式。 否則,用戶端會使用增強的Point和 Print 驅動程式進行連線。

在這兩種情況下,用戶端會使用 GetPrinterDataEx 呼叫,從伺服器下載設定數據。 組態數據報括一般印表機描述 (GPD) 檔案、PostScript 印表機描述 (PPD) 檔案、驅動程式屬性包、JavaScript 條件約束和資源 DLL 等數據檔。 用戶端也會下載與伺服器驅動程式相關聯的 CAT 檔案。

然後,列印系統會檢查用戶端,並驗證資源 DLL 是否不包含可執行的程式代碼。 列印系統也會驗證下載的檔案是否有效,並由從伺服器下載的CAT檔案簽署。 任何不受信任檔案都會被刪除。 下圖說明 Windows 8 用戶端與使用 v4 印表機驅動程式的共用印表伺服器之間的此組態相關通訊。

Windows 8 列印用戶端與具有 v4 列印驅動程式的列印伺服器之間的組態相關通訊。組態資訊是使用 getprinterdataex 呼叫下載。

Windows 7 用戶端連線行為

Windows 7 用戶端也可以連線到使用 v4 印表機驅動程式的共用列印佇列。 不過,在此情況下,用戶端一律會從伺服器下載增強的 Point 和 Print 驅動程式。 此驅動程式會使用伺服器端轉譯來確保為印表機產生適當的印表機描述語言 (PDL)。

使用 GetPrinterDataEx 呼叫,從伺服器下載設定數據的方式與 Windows 7 用戶端連線相同。 如果任何下載的檔案對伺服器的 CAT 檔案進行驗證失敗,則會加以刪除。 下圖說明 Windows 7 用戶端與使用 v4 印表機驅動程式的共用印表伺服器之間的此組態相關通訊。

Windows 7 或 windows vista 列印用戶端與具有 v4 列印驅動程式的列印伺服器之間的組態相關通訊。組態資訊是使用 getprinterdataex 呼叫下載。

v3 印表機驅動程式支援的共用印表機將繼續使用現有的Point和 Print 系統運作。

V4 印表機驅動程序開發最佳做法