IPrintOemUIMXDC::AdjustImageableArea method

The IPrintOemUIMXDC::AdjustImageableArea method enables an XPS filter pipeline driver to use UnidrvUI.dll or PS5UI.dll to support configuration of the printable area, including orientation and direction of rotation.


HRESULT AdjustImageableArea(
  HANDLE         hPrinter,
  DWORD          cbDevMode,
  const PDEVMODE pDevMode,
  DWORD          cbOEMDM,
  const PVOID    pOEMDM,
  PRECTL         prclImageableArea



A handle to the printer that is currently being queried.


The size of the DEVMODE structure, in bytes, including appended data.


A pointer to the DEVMODE structure that contains the current device settings.


The number of bytes in the vendor-provided section of the DEVMODE structure.


A pointer to the data that is contained in the vendor portion of the DEVMODE structure that pDevMode points to.


A pointer to a RECTL structure that contains the printable area. This parameter is populated by UnidrvUI.dll or PS5UI.dll with data from the corresponding GPD or PPD, before the parameter is passed to the plug-in. The plug-in can then update this data before returning.

Return Value

AdjustImageableArea returns S_OK if this method succeeds. Otherwise, this method should return E_NOTIMPL if the plug-in does not support the method, or any appropriate failure value if the plug-in cannot complete the operation. For more information, see the following Remarks section.


The prclImageableArea parameter is IN OUT. All other parameters for this method are input only.

If the plug-in cannot complete the operation, it should return an appropriate failure HRESULT value, which willcause the current print job to fail.


Minimum supported client Available with Windows Vista and later versions of Unidrvui.dll and Ps5ui.dll, which are redistributable. This method is also available for XPSDrv drivers in Microsoft Windows XP if you have installed the XPS Essentials Pack.
Target Platform Desktop
Header prcomoem.h (include Prcomoem.h)

See Also