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.
可以使用描述生成打印机扩展和/或 UWP 设备应用所需的常见模型层代码的任何必要 C# 文件来扩充此项目。 但是,我们不建议更新现有类,因为这些更新使得通过示例更新提供的 bug 修复更加困难。
DeviceAppForPrintersLibrary
名为 DeviceAppForPrintersLibrary 的另一个项目为可用于从 UWP 设备应用访问打印机的 C# 应用提供帮助程序类和方法。
PrinterExtensionHelperLibrary
为了将 C# 接口、类和方法转换为 JavaScript 中支持的内容,此项目将创建 WinMD 文件。 WinMD 文件指定 Windows 运行时 API。 此外,此库还可用于公开特定于 Microsoft 应用商店设备应用的便利对象,例如分析不同的激活上下文或为通知创建 Toast UI。
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.