UniDrv is a GDI-based Microsoft Windows universal printer driver and architecture for non-PostScript printers. It is used to simplify driver development of non-PostScript printers for printer manufacturers. Unidrv allows the creation of a printer-specific minidriver in the form of a GPD file, similar to a PPD file, which is much simpler than kernel mode driver development. Unidrv was introduced in Windows 2000 and replaced the Raster Device Driver interface used in Windows NT 4.0 and earlier versions.
Overview
The concept behind Unidrv is that a complete printer driver need not be written by the hardware manufacturer; only a device-specific minidriver is required that uses the core printing functionality of the Unidrv engine. A minidriver can be a customization file, or a plug-in, that allows special rendering functions or customized UI options. Unidrv supports non-PostScript printers driven by PCL and PCL-like page description languages.
Driver file details
The Unidriver is implemented as a set of DLL and GPD files along with other printer-specific support files:
UniDrv.dll is the printer graphics driver file for printer languages based on raster images, including most inkjet and dot-matrix printer languages.
UniRes.dll, StdNames.gpd, TtfSub.gpd and some other support files.
Raster minidriver, which has the file name extension.GPD, is the data file, and is also called the characterization file. The file name depends on the printer or printer family.
Newer Unidrv-based printer drivers from some printer vendors, e.g. Hewlett Packard, may contain many other support files to allow support for more printer-specific options.
Unidrv capabilities
The Unidriver is also called the raster driver because it supports raster graphics printing and is compatible with many printers. This driver supports the following features:
An extension interface that allows printer manufacturers to extend and customize the driver for specific models.
Vector graphics languages HP-GL/2 and PCL-XL, monochrome, and color.
Determining if the printer driver is Unidrv-based
To determine whether a driver is Unidrv-based, the following steps need to be taken on Windows:
Click the Start button, and then open the Printers folder.
From the File menu, click Server Properties.
Click the Drivers tab.
Select a driver, and then click Properties.
Observe the driver list in the Driver Properties dialog box. If UniDrv.dll appears on the list of files, the driver is Unidrv-based.
Future
Starting with Windows Vista, Unidrv is intended to be succeeded by XPSDrv. The XPSDrv printer driver extends Microsoft's GDI-based, printer driver architecture to support consuming XML Paper Specification documents and is more modular and extensible. With an XPSDrv printer driver, the XPS Document format is used as a spool file format and as a document file format.