IPrintOemUI::CommonUIProp 方法 (prcomoem.h)

方法 IPrintOemUI::CommonUIProp 允许用户界面插件修改现有打印机属性表页。

语法

HRESULT CommonUIProp(
  DWORD         dwMode,
  POEMCUIPPARAM pOemCUIPParam
);

参数

dwMode

调用方提供的整数常量,指示应修改哪个属性表页。 以下常量有效。

定义
OEMCUIP_DOCPROP 调用 方法可修改文档属性表的“布局”、“纸张/质量”或“高级”页。
OEMCUIP_PRNPROP 调用 方法以修改打印机属性表的“设备设置”页。

pOemCUIPParam

调用方提供的指向 OEMCUIPPARAM 结构的指针。

返回值

方法必须返回以下值之一。

返回代码 说明
S_OK
操作成功。
E_FAIL
此操作失败。
E_NOTIMPL
该方法未实现。

注解

调用用户界面插件 IPrintOemUI::CommonUIProp 的 方法时,它应返回自定义的属性表选项项,以便修改现有的打印机属性表页。

方法 IPrintOemUI::CommonUIProp 由打印机驱动程序的 打印机接口 DLL 调用。 方法应提供描述属性表项的 OPTITEM 结构的数组,以及用于处理用户对选项值的修改的回调函数。

应为每个属性表调用方法两次。 方法的 dwMode 参数值指示是调用该方法来更改打印机属性表还是文档属性表。

首次调用该方法时,该方法应仅返回要添加的 OPTITEM 结构数。 此数字应放在 OEMCUIPPARAM 结构的 cOEMOptItems 成员中。 然后,打印机接口 DLL 分配足够的内存来存储指定数量的 OPTITEM,然后再次调用 IPrintOemUI::CommonUIProp

第二次调用该方法时, IPrintOemUI::CommonUIProp 应执行以下操作:

  • 使用选项说明填充驱动程序提供的 OPTITEM 结构数组。 此数组由 OEMCUIPPARAM 结构的 pOEMOptItems 成员指向,分配的数组元素数包含在结构的 cOEMOptItems 成员中。 (有关指定 OPTITEM 成员值的信息,请参阅 OEMCUIPPARAM 结构的 pOEMOptItems 成员) 的说明。
  • 通过将数字放在 OEMCUIPPARAM 结构的 cOEMOptItems 成员中,返回添加到 OPTITEM 数组的结构数。
  • 返回 OEMCUIPPARAM 结构的 OEMCUIPCallback 成员中回调函数的地址。 当用户修改属性表页时,将调用此回调函数。 回调函数的类型必须为 OEMCUIPCALLBACK
  • (可选)通过将专用数据结构的地址放置在 OEMCUIPPARAM 结构的 pOEMUserData 成员中来返回该地址。 结构的 OEMCUIPCallback 成员指定的回调函数接收 OEMCUIPPARAM 结构的地址作为输入参数,因此可以获取专用数据的地址。

    应通过使用 OEMCUIPPARAM 结构的 hOEMHeap 成员中包含的句柄调用 Microsoft Windows SDK HeapAlloc 函数来分配专用数据结构的空间。

如果 IPrintOemUI::CommonUIProp 方法由多个用户界面插件导出,则按照为安装指定插件的顺序调用方法。

有关详细信息,请参阅 修改 Driver-Supplied 属性表页

要求

要求
目标平台 桌面
标头 prcomoem.h (包括 Prcomoem.h)