OEMCUIPCALLBACK 回调函数 (printoem.h)

OEMCUIPCALLBACK 函数类型用于定义用户界面插件的 IPrintOemUI::CommonUIProp 方法指定的回调函数。 结构在 printoem.h 中定义。

语法

OEMCUIPCALLBACK Oemcuipcallback;

LONG Oemcuipcallback(
  PCPSUICBPARAM unnamedParam1,
  POEMCUIPPARAM unnamedParam2
)
{...}

参数

unnamedParam1

指向 CPSUICBPARAM 结构的指针。

unnamedParam2

指向 OEMCUIPPARAM 结构的指针。

返回值

请参阅以下“备注”部分。

言论

当用户修改打印机属性表时,将调用由 IPrintOemUI::CommonUIProp 方法指定的回调函数。 回调函数的目的是处理对自定义选项项的用户修改。

修改属性表项时,CPSUI 调用打印机驱动程序的打印机接口 DLL。 此 DLL 包含其自己的回调函数,类型为 _CPSUICALLBACK,它处理其自己的 OPTITEM 结构中包含的选项值。 然后,打印机接口 DLL 的回调函数调用用户界面插件的回调函数。 如果提供了多个用户界面插件,则依次调用每个插件的回调函数以及安装插件的顺序。

回调函数接收指向 CPSUICBPARAM 结构的指针。 结构的 Reason 成员标识导致调用回调函数的事件。 该函数还接收指向指定回调函数地址的 IPrintOemUI::CommonUIProp 方法时使用的同一 OEMCUIPPARAM 结构的指针。

CPSUICBPARAM 结构的 pOptItempCurItem 成员标识修改后的选项。 回调函数可以使用这些指针,以及 pOEMOptItemscOEMOptItem OEMCUIPPARAM 结构的成员,以确定修改后的选项是否为用户界面插件拥有的选项。

调用回调函数时,它必须确定其任何自定义 OPTITEM 结构是否受指定的 Reason 值的影响。 如果是,该函数应处理受影响的选项,并返回为 _CPSUICALLBACK 函数类型描述的CPSUI_ACTION前缀的返回值之一。 否则,它应返回CPSUICB_ACTION_NONE。

以下其他规则适用于回调函数返回值:

  • 如果 原因 包含CPSUICB_REASON_APPLYNOW,则回调必须返回CPSUICB_ACTION_ITEMS_APPLIED或CPSUICB_ACTION_NO_APPLY_EXIT。 在后一种情况下,打印机驱动程序接口立即返回到 CPSUI,而无需调用任何其他用户界面插件的回调函数。

  • 如果 Reason 包含除CPSUICB_REASON_APPLYNOW以外的任何值,则返回值必须是下列值之一:

    • CPSUICB_ACTION_REINIT_ITEMS

    • CPSUICB_ACTION_OPTIF_CHANGED

    • CPSUICB_ACTION_NONE

      这些返回值按优先级递减的顺序列出。 如果存在多个用户界面插件,打印机接口 DLL 将调用每个插件的回调函数并保存最高优先级的返回值,并将其传递回 CPSUI。

要求

要求 价值
目标平台 桌面
标头 printoem.h (include Printoem.h, Compstui.h)