Multiple Emulation Device Requirements
It is becoming more common for printers to support multiple page description languages (for example, both HP-PCL and PostScript). Each of these page description languages require separate printer drivers. It is also possible for devices to have multiple functions, such as printer and fax or printer and SCSI drive.
In general, however, Windows 95 Plug and Play maps a single device ID for a given device to a single device driver. This section describes how a single device ID can be mapped to multiple device drivers.
Multiple Device Drivers Installed with the Printer Class Installer
The Windows 95 printer class installer provides a way for device vendors to supply their own DLLs to install multiple drivers for one device. There are two methods, each of which requires the use of a printer-specific extension in the INF file for the device.
- In the first method, the Windows 95 Printer class installer installs one printer driver (the driver that is mapped to the printer by the Plug and Play device ID in the INF file) and then calls a vendor-supplied 32-bit DLL to install additional printer drivers or call other Windows 95 class installers to install additional device drivers as needed. The filename of the vendor-supplied DLL is specified in a VendorSetup statement in the INF file (see the section Printer-Specific INF File Extensions Reference for specific information about VendorSetup).
- In the second method, the Windows 95 Printer class installer does nothing more than copy files from the printer installation diskette, under direction of the INF file on the diskette, and then calls a vendor-supplied 32-bit DLL to perform all the functionality required to install all the drivers the device needs. The filename of the vendor-supplied DLL is specified in a VendorInstaller statement in the INF file (see the section Printer-Specific INF File Extensions Reference for more information about VendorInstaller).
Multiple Device Drivers Installed with the Serial Port Bus Enumerator
The serial port bus enumerator provides a way for a device to report multiple device ID values, each of which maps to a specific device driver.
The parallel port bus enumerator does not support the ability to enumerate multiple device ID values.