共用方式為


列印提供者簡介

警告

從 Windows 10 開始,支援第三方列印提供者的 API 已被取代。 Microsoft 不建議對第三方列印提供者進行任何投資。 此外,在 v4 列印驅動程式模型的 Windows 8 和較新版本產品上,第三方列印提供者可能不會建立或管理使用 v4 列印驅動程式的佇列。

列印提供者負責將列印作業導向至本機或遠端列印裝置。 它們也會負責列印佇列管理作業,例如啟動、停止和列舉伺服器的列印佇列。 列印提供者會定義列印伺服器的高階、與計算機無關的操作系統獨立檢視。

所有列印提供者都會實作一組常見的 列印提供者功能。 這些功能是由一組 API 函式所定義,由多任務緩衝處理程式的路由器 (Spoolss.dll) 呼叫。

列印提供者所定義的大部分函式都需要印表機句柄做為輸入。 多任務緩衝處理程式用戶端會在 Winspool.drv 中呼叫 OpenPrinter 來取得印表機句柄,它會呼叫 API 伺服器 (Spoolsv.exe) 。 多任務緩衝處理程式的路由器 (Spoolss.dll) 呼叫每個列印提供者的 OpenPrinter 函式,直到其中一個提供印表機句柄,以及指出列印提供者辨識指定印表機名稱的傳回值為止。 路由器接著會將自己的句柄傳回給 API 伺服器。 路由器的句柄包括印表機句柄和提供者句柄。 此句柄會傳回給應用程式,以便將應用程式的後續呼叫導向至正確的提供者和印表機。

Microsoft 提供下列 Windows 2000 和更新版本的列印提供者:

Localspl.dll
本機列印提供者。 處理導向至從本機伺服器管理之印表機的所有列印作業。

Win32spl.dll
Windows 網路列印提供者。 處理導向至遠端 Win32 (NT 型作業系統或 Windows for Workgroups) 伺服器的列印作業。 當作業抵達遠端伺服器時,它會傳遞至伺服器的本機列印提供者。

Nwprovau.dll
Novell NetWare 列印提供者。 處理導向至 Novell NetWare 列印伺服器的列印作業。

Inetpp.dll
HTTP 列印提供者。 處理傳送至 URL 的列印作業。

廠商可以建立其他網路列印提供者。 如需詳細資訊,請參閱 撰寫網路列印提供者

下圖說明涉及這些列印提供者的可能流程路徑。

列印提供者流程路徑。

檢視表時,您應該考慮下列幾點:

  • 如果印表機是由客戶端系統管理,則列印作業是由 本機列印提供者 (Localspl.dll) 處理。 由 Localspl.dll 管理的印表機不需要實際本機到用戶端;它們可以直接連線到網路卡。

  • 如果印表機位於NT型作業系統伺服器上,網路提供者 (Win32spl.dll) 會使用 RPC 將來自用戶端路由器的呼叫重新導向至伺服器的 Spoolsv.exe 程式。 因為印表機是伺服器的本機印表機,所以伺服器的本機印表提供者會處理印表作業。

  • 如果印表機位於某些其他類型的伺服器上,可以使用伺服器支援的數據格式和網路通訊協定,由本機列印提供者或支援該伺服器類型的網路列印提供者存取。

  • 若要讓本機印表提供者存取遠端印表機,它必須包含可使用遠端印表機或伺服器所辨識的網路協定的 埠監視器