用于指定页面的方法

重要

新式打印平台是 Windows 与打印机通信的首选方式。 建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) 来自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。

有关详细信息,请参阅新式打印平台打印支持应用设计指南

应用程序可以使用三种方法中的任何一种将属性表页指定给 CPSUI。 以下每种方法都涉及调用 CPSUI 的 ComPropSheet 函数,并指定其中一个 ComPropSheet 函数代码

  • 提供 COMPROPSHEETUI 结构

    如果应用程序通过将 COMPROPSHEETUI 结构传递给 ComPropSheet 来描述属性表页,则可以:

    • 使用 CPSUI 提供的页和模板之一来指定打印机接口 DLL 可用于打印机属性表的预定义标准页面类型。

    • 指定一组用户可修改的属性表选项,这些选项将显示在页面上。

    • 指定一个页面事件回调函数,当用户查看或修改页面选项时,CPSUI 将调用该函数。

  • 提供 PROPSHEETPAGE 结构

    如果使用 COMPROPSHEETUI 结构时无法使用通用(标准)对话框构建页面,则可以使用 PROPSHEETPAGE 结构来描述属性表页面。 打印机接口 DLL 通常不需要使用此方法。

  • 提供回调函数

    应用程序可以向 ComPropSheet 传递 PFNPROPSHEETUI 类型的回调函数的地址,CPSUI 会立即调用该函数。 回调函数负责调用 ComPropSheet 本身来创建属性表页。

    打印后台处理程序使用此方法通知 CPSUI 是否存在打印机接口 DLL 的 DrvDocumentPropertySheetsDrvDevicePropertySheets 函数。 同样,UnidrvPscript 驱动程序使用此方法通知 CPSUI 在用户界面插件中是否存在 IPrintOemUI::DocumentPropertySheetsIPrintOemUI::DevicePropertySheets COM 方法。

无论使用哪种方法来指定新页面,都必须通过将组父句柄传递给 ComPropSheet 函数,将页面分配给组的父级