Developing Windows NT Minidrivers

Unitool, version 3.06 is compatible with RasDD, although a number of file conversions are required to prepare the minidriver for use with it. The requirement for these conversions results from the major optimizations that have been incorporated to enhance the performance of RasDD as follows:

·Handles rendering. RasDD retrieves the bitmap image the graphics engine creates and sends the bitmap to the printer.

·Scans for rules. Rules are rectangular areas that the LaserJet printer can handle. Scanning for rules substantially reduces the volume of data sent to the printer. In some instances, this means a page that would otherwise be too large to fit into the printer's memory can be printed. It also permits a grid, such as in a spreadsheet, to be sent to the printer as a number of rules, thereby eliminating most of the graphics.

·For the font metrics, RasDD uses the IFIMETRICS structure to provide the Windows NT version of the font metrics information which is preferred to the PFM files.

·The Windows NT GPC extensions provide Windows NT-specific information about the printer that is later passed to GDI. In particular, the Windows NT GPC extensions data consists of color rendering (halftoning) information. The Windows NT GPC data also characterizes the printing mechanism. This data defines both the effective resolution of the printer and the default halftone pattern size to use. The NTGPC structure also identifies minidriver version, a size field and a field to indicate whether the minidriver uses IFIMETRICS or PFM.

Note If the NTGPC structure is not included, the driver is assumed to be using the Windows 3.1 format.

·Instead of the Windows 3.1 CTT, Windows NT uses the RLE format for glyph encoding. RLE fully supports Unicode because RLE does not have the 256-character limitation CTT contains. This is particularly important for the handling of non-latin based ideographic languages. RasDD can still use the old format (for compatibility with 16-bit minidrivers), but the RLE format caters to the wide characters of Unicode and speeds up Win32 CreateDC calls by having much of the font information precomputed in the format that is required by GDISRV.

·.Inf files are required for installation and setup. The Windows NT DDK contains sample code for Setup including the \setup\printer\oemsetup.inf file.