Device Drivers and Installation for Printers

This section summarizes device driver requirements for printers. The items in this section are requirements for all PC 98 systems.

9. Printer INF file and installation meet PC 98 requirements
Required

Each device requires a printer INF file for both Windows and Windows NT operating systems. The manufacturer does not need to supply a printer INF file if a standard printer INF file provided with the operating system can be used.

If the manufacturer provides an INF file, it must be complete and free of errors. This INF file must comply with the printer-specific extensions listed in the Windows and Windows NT DDKs.

If the manufacturer supplies an INF file or another file, the requirements for printer INF files and installation include the following:

For complete details about standard installation requirements for device drivers, see the “Basic PC 98” chapter in Part 2 of this guide.

10. Driver correctly reports device capabilities

Required

For Windows, this means that the driver correctly supports the DEVMODE structure as defined in the Windows and Windows NT DDKs.

11. Driver supports error notification
Required

At a minimum, the device driver must support notifying the user of errors reported by the hardware.

12. Driver supports ICC color matching
Required

Windows and Windows NT support using color profiles that comply with the ICC Profile Format specification. For contact information on device profiles, see the references at the end of this chapter. The ICM APIs and functionality for Windows and Windows NT are described in the Win32 SDK and the Windows NT 5.0 DDK.

For PC 98, color-capable devices such as desktop monitors, printers, scanners, still-image cameras, LCDs, color plasma displays, or other flat-panel devices are required to install one or more ICC profiles for ICM. Providing a monitor color-calibration utility is recommended for generating, editing, and installing ICC profiles. The sRGB profile will be distributed in Windows and Windows NT.

13. Port monitor software meets DDK guidelines
Required

If the device includes bi-directional port monitor software that replaces the default Windows port monitor, then this software must accurately report errors. For information about implementing port monitor software, see the Windows and Windows NT DDKs.

14. Driver supports point-and-print network installation
Required

This means that the user is not required to provide disks or files when installing a new printer of the same type as another printer already on the network.

15. Device available immediately following installation
Required

The user should not have to restart the system immediately after device installation in order to print.

16. Device supports accurate printable regions
Required

The printable regions that can be selected in the user interface must be accurately supported in the actual print output.

17. Driver supports required DDIs
Required

For Windows NT drivers, the device driver interfaces (DDIs) are defined in the Windows NT DDK. Win32-based printer drivers ensure that print commands from Windows NT-based applications are executed correctly on the specified printer or plotter. Because Win32 APIs are not hardware-specific, it is the job of each printer driver to interpret the commands for its specific hardware.

For Windows drivers, this requirement includes correct support of all features advertised for the device, plus required support for Windows features. The DDIs that must be supported are listed in the “Printer Driver Overview” section of the Windows DDK. This includes the following support, in addition to other support defined in the DDK:

  • TrueType glyph indexes

  • Big fonts (those that require more than 64K to express)

  • Enhanced metafile (EMF) spooling

  • Bezier curve output

  • Services from the Windows device-independent bitmap (DIB) engine

18. Driver based on unidriver

Recommended

Microsoft provides a universal printer driver (unidriver), which is capable of carrying out requests (such as printing text, rendering bitmaps, or advancing a page) on most printer types. To build a driver for a particular printer, a developer builds a minidriver. This minidriver accepts requests from the GDI and then, in most cases, passes the request to the unidriver along with information that describes the capabilities, commands, and resident fonts of the particular printer. For more information, see the Windows NT and Windows DDKs.