2.1 When Do You Need a Device Driver or Virtual Device?

You need a device driver if you intend to give Windows or Windows applications access to your device, and the device driver is not 100 percent compatible with similar devices supported by the retail Windows drivers. You will also need a device driver if your device has extended features not supported by the Windows drivers.

You need a virtual device if you intend to give MS-DOS programs access to your device while Windows runs in 386 enhanced mode. If you provide an MS-DOS installable device driver or memory-resident program that gives MS-DOS programs direct or indirect access to your device, you need to create a virtual device. If your device generates interrupts that are not serviced by the ROM BIOS or if your device relies on a nonstandard ROM BIOS, you need a virtual device.

·To create a device driver or virtual device:

1.Write new sources, or modify the sample sources.

2.Choose the filename and module name for your driver, and an ID number for your virtual device.

3.Compile, assemble, and link.

4.Add a version stamp to your driver files.

5.Debug your device driver or virtual device.

6.Test your device driver or virtual device.

7.Create your OEMSETUP.INF file and distribution disks.

8.Test the distribution disks by using Windows Setup or Control Panel to install your driver or virtual device.

In all cases, it is recommended that you start with an existing driver or virtual device. If you do not already have a driver or virtual device, review the sample drivers provided in the DDK and start with a sample that supports a device that matches your device's capabilities.

To prevent maintenance and upgrade problems, vendors must rely on Windows Setup or Control Panel to install their device drivers and virtual devices. This means you must create an OEMSETUP.INF file for your driver disks that contains the instructions Setup or Control Panel need to install your files. Also, you must clearly instruct your customers to use Windows Setup or Control Panel to install new drivers.

Important:

Never write installation programs to install Windows drivers.