Unidrv Explained

UniDrv (Universal Printer Driver or Unidriver) 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 (also called Winprinters) for printer manufacturers. Unidrv allows the creation of a printer-specific minidriver in the form of a GPD (Generic Printer Description) 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 (RASDD) 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:

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 (bitmap) graphics printing and is compatible with many printers. This driver supports the following features:

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:

  1. Click the Start button, and then open the Printers folder.
  2. From the File menu, click Server Properties.
  3. Click the Drivers tab.
  4. Select a driver, and then click Properties.
  5. 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 (XPS) 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.

References