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 结构的 pOptItem,pCurItem 成员标识修改后的选项。 回调函数可以使用这些指针,以及 pOEMOptItems 和 cOEMOptItem 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) |