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 成员标识修改后的选项。 回调函数可以使用这些指针以及 OEMCUIPPARAM 结构的 pOEMOptItemscOEMOptItem 成员来确定修改后的选项是否为用户界面插件拥有的选项。

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

以下附加规则适用于回调函数返回值:

  • 如果 Reason 包含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 (包括 Printoem.h、Compstui.h)