列印功能的 Win32 API 支援
重要
新式列印平臺是 Windows 與印表機通訊的慣用方法。 我們建議您使用Microsoft的 IPP 收件匣類別驅動程式,以及列印支援應用程式 (PSA),自定義 Windows 10 和 11 中的列印體驗,以進行印表機裝置開發。
如需詳細資訊,請參閱 新式列印平臺 和 列印支援應用程式設計指南。
Windows Vista 列印子系統提供相容性支援,可讓 Windows Presentation Foundation (WPF) 應用程式使用 GDI 型列印驅動程式,並讓 Microsoft Win32 型應用程式使用 XPSDrv 列印驅動程式。 此相容性是透過一層軟體填充碼來提供。 填充碼是軟體模組,可在數據上執行轉換作業,否則不相容的軟體可以互操作。 下圖顯示此列印功能實作的數據路徑。
XPSDrv 列印驅動程式和以 GDI 為基礎的第 3 版列印驅動程式都支援 DrvDeviceCapabilities 函式。 當 Win32 應用程式呼叫 DrvDeviceCapabilities 或 GetDevCap 函式時,列印子系統會呼叫 DrvDeviceCapabilities,以從列印驅動程式收集裝置功能資訊。
當 WPF 應用程式向列印驅動程式要求 PrintCapabilities 檔案時,列印子系統會執行下列其中一項:
如果列印驅動程式支援 IPrintTicketProvider 介面,列印子系統會使用 IPrintTicketProvider::GetPrintCapabilities 方法查詢 PrintCapabilities 檔的列印驅動程式。
如果列印驅動程式不支援 IPrintTicketProvider 介面,列印票證管理員會查詢列印驅動程式的 DrvDeviceCapabilities 函式,並使用傳回的資訊來建立傳回給應用程式的 PrintTicket 檔。
如需Microsoft列印驅動程式如何 支援 IPrintTicketProvider 介面的詳細資訊,請參閱 Windows Vista 中的印表機驅動程式和外掛程式介面設計。