OEMCUIPPARAM 结构 (printoem.h)

OEMCUIPPARAM 结构用作用户界面插件的 IPrintOemUI::CommonUIProp 方法的输入参数。

语法

typedef struct _OEMCUIPPARAM {
  DWORD           cbSize;
  POEMUIOBJ       poemuiobj;
  HANDLE          hPrinter;
  PWSTR           pPrinterName;
  HANDLE          hModule;
  HANDLE          hOEMHeap;
  PDEVMODE        pPublicDM;
  PVOID           pOEMDM;
  DWORD           dwFlags;
  POPTITEM        pDrvOptItems;
  DWORD           cDrvOptItems;
  POPTITEM        pOEMOptItems;
  DWORD           cOEMOptItems;
  PVOID           pOEMUserData;
  OEMCUIPCALLBACK OEMCUIPCallback;
} *POEMCUIPPARAM, OEMCUIPPARAM;

成员

cbSize

OEMCUIPPARAM 结构的大小。 由 Unidrv 或 Pscript5 驱动程序提供。

poemuiobj

指向 OEMUIOBJ 结构的指针。

hPrinter

打印机的句柄。 由 Unidrv 或 Pscript5 驱动程序提供。

pPrinterName

包含打印机名称的字符串。 由 Unidrv 或 Pscript5 驱动程序提供。

hModule

用户界面插件的句柄。 由 Unidrv 或 Pscript5 驱动程序提供。

hOEMHeap

通过调用 Microsoft Windows SDK 文档) 中所述的 HeapAlloc 函数 (来分配空间的堆的句柄。 由 Unidrv 或 Pscript5 驱动程序提供。

pPublicDM

指向打印机的公共 DEVMODEW 结构的指针。 仅当 IPrintOemUI::CommonUIProp 方法的 dwMode 参数OEMCUIP_DOCPROP时有效。 由 Unidrv 或 Pscript5 驱动程序提供。

pOEMDM

指向用户界面插件的专用 DEVMODEW 成员的指针。 仅当 IPrintOemUI::CommonUIProp 方法的 dwMode 参数OEMCUIP_DOCPROP时有效。 由 Unidrv 或 Pscript5 驱动程序提供。

dwFlags

对于调用 IPrintOemUI::CommonUIProp,其 dwMode 参数设置为 OEMCUIP_DOCPROP

包含打印机驱动程序的 DrvDocumentPropertySheets 函数接收的 DOCUMENTPROPERTYHEADER 结构的 fMode 成员的内容。

对于调用 IPrintOemUI::CommonUIProp,其 dwMode 参数设置为 OEMCUIP_PRNPROP

包含打印机驱动程序的 DrvDevicePropertySheets 函数接收的 DEVICEPROPERTYHEADER 结构的 Flags 成员的内容。

pDrvOptItems

指向打印机驱动程序 OPTITEM 数组的指针。 首次调用 IPrintOemUI::CommonUIProp 时无效。 由 Unidrv 或 Pscript5 驱动程序提供。

cDrvOptItems

pDrvOptItems 指向的数组中的 OPTITEM 结构计数。 由 Unidrv 或 Pscript5 驱动程序提供。

pOEMOptItems

指向 OPTITEM 结构数组的指针。 由 IPrintOemUI::CommonUIProp 调用方提供。 第二次调用 IPrintOemUI::CommonUIProp 方法时,它必须将用户界面插件定义的 OPTITEM 结构放置在此数组中,并且必须将结构计数放在 cOEMOptItems 中。 对于放置在数组中的每个 OPTITEM 结构,必须执行以下操作:

  • OPTITEM 结构的 DMPubID 成员设置为预定义值之一或大于 DMPUB_USER 的值。 如果使用任何预定义值,则必须在整个 OPTITEM 数组中搜索已包含这些值的结构,并且必须设置其OPTIF_HIDE标志。

  • 通过使用 OEMCUIPPARAM 结构的 hOEMHeap 成员中包含的句柄调用 Windows SDK HeapAlloc 函数,为 OPTTYPESOPTPARAMS 结构分配空间。 打印机驱动程序在不再需要此空间时解除分配此空间。

首次调用 IPrintOemUI::CommonUIProp 时无效。

cOEMOptItems

pOEMOptItems 指向的数组中包含的 OPTITEM 结构的计数。 由 Unidrv 或 Pscript5 驱动程序提供。

第一次调用 IPrintOemUIUI::CommonUIProp 方法时, cOEMOptItems 的调用方提供的值为零。 IPrintOemUI::CommonUIProp 方法必须更改此值,以指示该方法提供的 OPTITEM 结构数。 第二次调用它时, IPrintOemUI::CommonUIProp 必须提供实际添加到 pOEMOptItems 指向的数组的 OPTITEM 结构的数量。

pOEMUserData

第二次调用时, IPrintOemUIUI::CommonUIProp 方法使用,为 OEMCUIPCallback 函数提供可选的额外输入信息。

OEMCUIPCallback

第二次调用 IPrintOemUI::CommonUIProp 方法用于返回 OEMCUIPCALLBACK 类型的回调函数的地址。

注解

用户界面插件接收此结构的地址,作为其 IPrintOemUI::CommonUIProp 方法及其 OEMCUIPCALLBACK 类型回调函数的输入参数。

有关使用此结构和关联函数的其他信息,请参阅 用户界面插件

要求

要求
Header printoem.h (包括 Printoem.h)