IPrintOemUni COM Interface

Important

The modern print platform is Windows' preferred means of communicating with printers. We recommend that you use Microsoft's IPP inbox class driver, along with Print Support Apps (PSA), to customize the print experience in Windows 10 and 11 for printer device development.

For more information, see Modern print platform and the Print support app design guide.

The IPrintOemUni COM interface is the means by which the printer graphics DLL for Unidrv communicates with a rendering plug-in. The IPrintOemUni interface is implemented by each rendering plug-in.

The following table lists and describes all of the methods provided by the IPrintOemUni interface. Rendering plug-ins must define all listed methods. If a method is not needed, it can simply return E_NOTIMPL.

Method Description
IPrintOemUni::CommandCallback Allows a rendering plug-in to provide dynamically generated printer commands.
IPrintOemUni::Compression Allows a rendering plug-in to provide a customized bitmap compression method.
IPrintOemUni::DevMode Performs operations on a rendering plug-in's private DEVMODE members.
IPrintOemUni::DisableDriver Frees resources that were allocated by a rendering plug-in's IPrintOemUni::EnableDriver method.
IPrintOemUni::DisablePDEV Allows a rendering plug-in to delete the private PDEV structure that was allocated by its IPrintOemUni::EnablePDEV method.
IPrintOemUni::DownloadCharGlyph Allows a rendering plug-in to download a character glyph for a specified soft font to the printer.
IPrintOemUni::DownloadFontHeader Allows a rendering plug-in to download a font's header information to a printer.
IPrintOemUni::DriverDMS Allows a rendering plug-in to indicate that it will use a device-managed drawing surface.
IPrintOemUni::EnableDriver Allows a rendering plug-in to hook out some graphics DDI functions. Note that this method and IPrintOemUni::DisableDriver must be considered as a pair; if one is implemented, the other must be implemented as well.
IPrintOemUni::EnablePDEV Allows a rendering plug-in to create its own PDEV structure.
IPrintOemUni::FilterGraphics Allows a rendering plug-in to modify scan line data and send it to the spooler.
IPrintOemUni::GetImplementedMethod (Implementation required.) Allows Unidrv to determine which IPrintOemUni interface methods have been implemented by a rendering plug-in.
IPrintOemUni::GetInfo (Implementation required.) Returns a rendering plug-in's identification information.
IPrintOemUni::HalftonePattern Allows a rendering plug-in to create or modify a halftone pattern before it is used in a halftoning operation.
IPrintOemUni::ImageProcessing Allows a rendering plug-in to modify image bitmap data, in order to perform color formatting or halftoning.
IPrintOemUni::MemoryUsage Allows a rendering plug-in to specify the amount of memory required for use by its IPrintOemUni::ImageProcessing method.
IPrintOemUni::OutputCharStr Allows a rendering plug-in to control the printing of font glyphs.
IPrintOemUni::PublishDriverInterface (Implementation required.) Supplies a pointer to the Unidrv driver's IPrintOemDriverUni COM interface or IPrintCoreHelperUni interface.
IPrintOemUni::ResetPDEV Allows a rendering plug-in to reset its PDEV structure.
IPrintOemUni::SendFontCmd Allows a rendering plug-in to modify a printer's font selection command and then send it to the printer.
IPrintOemUni::TextOutAsBitmap Allows a rendering plug-in to create a bitmap image of a text string.
IPrintOemUni::TTDownloadMethod Allows a rendering plug-in to indicate the format that Unidrv should use for a specified TrueType font.
IPrintOemUni::TTYGetInfo Allows a rendering plug-in to supply Unidrv with information relevant to text-only printers.

For more information, see Implementing Printer Driver COM Interfaces.