Customized Data Stream Filtering

Important

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 the Print support app design guide.

Unidrv allows customized code to perform final post-processing of image data before it is spooled. Such processing might consist of removing adjacent dots, or any other data filtering operation that Unidrv does not provide.

To perform final postprocessing of image data, provide a rendering plug-in that implements the IPrintOemUni::FilterGraphics method.

The IPrintOemUni::FilterGraphics method receives scan line data as input. The method must process the data and then send it to the print spooler by calling IPrintOemDriverUni::DrvWriteSpoolBuf. If the IPrintOemUni::FilterGraphics method is implemented, Unidrv does not spool printer data. Instead, it sends every data block to the IPrintOemUni::FilterGraphics method.