// printoem.h
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;
View the official Windows Driver Kit DDI referenceNo description available.
The OEMCUIPPARAM structure is used as an input parameter to a user interface plug-in's IPrintOemUI::CommonUIProp method.
cbSizeSize of the OEMCUIPPARAM structure. Supplied by the Unidrv or Pscript5 driver.
poemuiobjPointer to an OEMUIOBJ structure.
hPrinterHandle to the printer. Supplied by the Unidrv or Pscript5 driver.
pPrinterNameString containing the printer name. Supplied by the Unidrv or Pscript5 driver.
hModuleHandle to the user interface plug-in. Supplied by the Unidrv or Pscript5 driver.
hOEMHeapHandle to a heap from which space can be allocated by calling the HeapAlloc function (described in the Microsoft Windows SDK documentation). Supplied by the Unidrv or Pscript5 driver.
pPublicDMPointer to the printer's public DEVMODEW structure. Valid only if the IPrintOemUI::CommonUIProp method's dwMode argument is OEMCUIP_DOCPROP. Supplied by the Unidrv or Pscript5 driver.
pOEMDMPointer to the user interface plug-in's private DEVMODEW members. Valid only if the IPrintOemUI::CommonUIProp method's dwMode argument is OEMCUIP_DOCPROP. Supplied by the Unidrv or Pscript5 driver.
dwFlagsContains the contents of the fMode member of the DOCUMENTPROPERTYHEADER structure received by the printer driver's DrvDocumentPropertySheets function.
Contains the contents of the Flags member of the DEVICEPROPERTYHEADER structure received by the printer driver's DrvDevicePropertySheets function.
pDrvOptItemsPointer to the printer driver's OPTITEM array. Not valid the first time IPrintOemUI::CommonUIProp is called. Supplied by the Unidrv or Pscript5 driver.
cDrvOptItemsCount of OPTITEM structures in the array pointed to by pDrvOptItems. Supplied by the Unidrv or Pscript5 driver.
pOEMOptItemsPointer to an array of OPTITEM structures. Supplied by IPrintOemUI::CommonUIProp caller. The second time the IPrintOemUI::CommonUIProp method is called, it must place OPTITEM structures defined by the user interface plug-in in this array, and it must place the structure count in cOEMOptItems. For each OPTITEM structure placed in the array, you must do the following:
Set the OPTITEM structure's DMPubID member either to one of the predefined values or to a value greater than DMPUB_USER. If you use any predefined values, you must search through the entire OPTITEM array for structures already containing those values, and you must set their OPTIF_HIDE flags.
Allocate space for OPTTYPES and OPTPARAMS structures by calling the Windows SDK HeapAlloc function, using the handle contained in the OEMCUIPPARAM structure's hOEMHeap member. The printer driver deallocates this space when it is no longer needed.
Not valid the first time IPrintOemUI::CommonUIProp is called.
cOEMOptItemsCount of OPTITEM structures contained in the array pointed by pOEMOptItems. Supplied by the Unidrv or Pscript5 driver.
The first time the IPrintOemUI::CommonUIProp method is called, the caller-supplied value for cOEMOptItems is zero. The IPrintOemUI::CommonUIProp method must change this value to indicate the number of OPTITEM structures that the method supplies. The second time it is called, IPrintOemUI::CommonUIProp must supply the number of OPTITEM structures actually added to the array pointed to by pOEMOptItems.
pOEMUserDataUsed by the IPrintOemUI::CommonUIProp method, the second time it is called, to provide the OEMCUIPCallback function with optional extra input information.
OEMCUIPCallbackUsed by the IPrintOemUI::CommonUIProp method, the second time it is called, to return the address of a callback function of type OEMCUIPCALLBACK.
A user interface plug-in receives this structure's address as an input argument to both its IPrintOemUI::CommonUIProp method and its OEMCUIPCALLBACK-typed callback function.
For additional information about the use of this structure and associated functions, see User Interface Plug-Ins.