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 结构的 pOptItem 和 pCurItem 成员标识修改后的选项。 回调函数可以使用这些指针以及 OEMCUIPPARAM 结构的 pOEMOptItems 和 cOEMOptItem 成员来确定修改后的选项是否为用户界面插件拥有的选项。
调用回调函数时,它必须确定其任何自定义 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) |