Important
裝置元數據已被取代,將在未來的 Windows 版本中移除。 如需這項功能取代的相關信息,請參閱 驅動程式套件容器元數據。
本文介紹印表機擴充連結庫,這是一個連結庫,可協助裝置製造商為其印表機撰寫 UWP 裝置應用程式。 印表機擴充庫隨附於 列印設定和列印通知 範例,以及 作業管理和印表機維護 範例。
Overview
v4 印表機驅動程序架構的高階設計目標是提供 Microsoft Store 應用程式使用者介面的內建支援。 為了提供印表機的存取權,v4 印表驅動程式會公開以 COM 為基礎的 印表機延伸模組介面。
若要從 UWP 裝置應用程式存取這些介面,您可以使用隨附於 Microsoft 市集裝置應用程式印表機範例的印表機擴充連結庫。 印表機擴充連結庫會封裝 COM 介面 PrinterExtensionLib的 COM 實作。 這可讓您在印表機延伸模組與 UWP 裝置應用程式之間共用程式代碼。
PrinterExtensionLibrary
在印表機範例隨附的 PrinterExtensionLibrary 專案中,有兩個 C# 檔案。 這些檔案會包裝 PrinterExtensionLib 的內容。 但此層可以新增更多類別,以便啟用印表機延伸模組與 UWP 裝置應用程式之間的程式碼共用。
PrinterExtensionTypes.cs specifies many helpful enumerations, constants, and interfaces that wrap the COM PrinterExtensionLib APIs.
PrinterExtensionAdapters.cs specifies all of the constructible classes used to wrap the COM PrinterExtensionLib APIs.
您可以使用任何必要的 C# 檔案來增強此項目,這些檔案描述建置印表機擴充功能和/或 UWP 裝置應用程式所需的通用模型層程式代碼。 不過,我們不建議您更新現有的類別,因為這些更新會使透過範例更新所提供的錯誤修正更加困難。
DeviceAppForPrintersLibrary
另一個名為 DeviceAppForPrintersLibrary 的專案提供 C# 應用程式的協助程式類別和方法,讓您可用來從 UWP 裝置應用程式存取印表機。
PrinterExtensionHelperLibrary
為了將 C# 介面、類別和方法轉換成 JavaScript 中支援的專案,此專案會建立 WinMD 檔案。 WinMD 檔案會指定 Windows 執行時間 API。 此外,此函式庫可用來公開特定於 Microsoft 市集裝置應用程式的便利物件,例如分析不同的啟用上下文,或建立通知的快顯使用者介面。
PrintHelperClass.cs includes the PrinterExtensionLibrary namespaces in order to expose them to JavaScript layers in the app. 它也包括 PrintTicket 和 Bidi 的一些便利方法。
PrinterNotificationHelper.cs demonstrates how to show toast UI for notifications.
The Output type for the PrinterExtensionHelperLibrary assembly is specified on Application page of the project properties window.