DEVOBJ structure (printoem.h)

The DEVOBJ structure is used as an input argument to several of a rendering plug-in's COM interface methods.

Syntax

typedef struct _DEVOBJ {
  DWORD     dwSize;
  PDEVOEM   pdevOEM;
  HANDLE    hEngine;
  HANDLE    hPrinter;
  HANDLE    hOEM;
  PDEVMODE  pPublicDM;
  PVOID     pOEMDM;
  PDRVPROCS pDrvProcs;
} *PDEVOBJ, DEVOBJ;

Members

dwSize

Specifies the size, in bytes, of the DEVOBJ structure. Supplied by the Unidrv or Pscript5 driver.

pdevOEM

Pointer to the rendering plug-in's private PDEV structure, as returned by IPrintOemUni::EnablePDEV or IPrintOemPS::EnablePDEV. Supplied by the Unidrv or Pscript5 driver.

hEngine

GDI handle to the physical device. This handle is received by the printer driver's DrvCompletePDEV function, as the function's hdev argument.

hPrinter

Spooler's handle to the printer. This handle is received by the printer driver's DrvEnablePDEV function, as the function's hDriver argument.

hOEM

Plug-in instance handle. Supplied by the Unidrv or Pscript5 driver.

pPublicDM

Pointer to the printer's DEVMODEW structure. Supplied by the Unidrv or Pscript5 driver.

pOEMDM

Pointer to the rendering plug-in's private DEVMODEW structure members. Supplied by the Unidrv or Pscript5 driver.

pDrvProcs

Not used. In a previous version of the interface, this was a pointer to a DRVPROCS structure.

Remarks

The DEVOBJ structure is accessible to graphics DDI hooking functions through the SURFOBJ structure's dhpdev member. For more information, see IPrintOemUni::EnablePDEV or IPrintOemPS::EnablePDEV.

Requirements

Requirement Value
Header printoem.h (include Printoem.h)

See also

DEVMODEW

DrvCompletePDEV

DrvEnablePDEV

IPrintOemPS::EnablePDEV

IPrintOemUni::EnablePDEV

SURFOBJ