Pages

Thursday, March 17, 2011

Bitmap Driver for Windows NT 4.0

Bitmap Driver for Windows NT 4.0

Architecture of the Print Subsystem

The Windows NT Printing architecture is a modular system, which allows vendors to customize the component in order to integrate their specialized components into the system. The Printing architecture is shown below.

The actual flow of control through the printing subsystem from the moment the application gives a print call till the user obtains the print output is as given below:

* Application makes win32 printing and GDI calls, these are primarily functions that are found in Winspool.dll and gdi32.dll. These calls are device independent calls.
* The Win32 calls are passed to the Kernel - Mode GDI rendering engine. The printer driver in conjunction with the graphics-rendering engine renders the input and passes the raw data on to the spooler.

The Printer driver is a specific example of a graphics driver in the Windows NT operating system. Another example would be the monitor driver. GDI communicates with the graphics drivers through a set of DDI functions. Information is passed between the GDI and the driver through the input/ output parameters of these entry points. The driver supports the GDI's requests by performing the appropriate operations on the associate operations before returning the GDI call. GDI has a lot of output capabilities built into it, the driver can thus make use of these facilities instead of it actually providing them. These are exported by GDI in the form of certain services. This way GDI actually reduces the functionality that needs to be implemented by the driver as well as the actual size of the driver.
* The spooler further processes the data and sends it to the port driver to which the target printer is connected. In case the system also has a language monitor then the data passes through the language monitor before reaching the port monitor and then onto the actual print device.

Download

Download full seminar papers At
http://www.enjineer.com/forum

No comments:

Post a Comment