Plug and Play Vendor IDs and Device IDs

All non-BIOS enumerated devices must not use "PNP" in their Vendor and Device codes. The vendor must register with EISA and have a vendor code assigned (for example, CTL for Creative Labs). The "PNP" vendor code is reserved for Microsoft and can only be used when defining a device's CompatibleID after indicating the device's HardwareID in the Plug and Play header.

Use of CompatibleIDs is strongly recommended for devices that use device drivers provided with Microsoft Windows 95, such as a "Standard PC COM Port" (PNP0500) or "Sound Blaster 16-compatible Sound Device" (PNPB003).

The following example output from ISOLATE.EXE of a Plug and Play header is provided for your reference:

     Vendor ID: XXXFFFF

     Serial Number: 00000001

     Checksum (reported): 0x5E

     PNP Version: 1.0

     Vendor Ver.: 10

     Device Description: IDE Port

     Device ID: XXX0001

     Doesn't Support I/O Range Checking

     Vendor Defined Logical Device Control Registers: None

     Compatible Device ID: PNP0600

     Device Description: IDE

     Dependent Function 0

     Dependent Function 1

     End of Dependent Functions

When the user is installing devices that use this method, a dialog box appears at the beginning of the enumeration sequence to suggest use of the default driver provided with Windows 95. Windows 95 also provides the option for using a disk from the manufacturer, in case the user wants to choose a manufacturer-supplied driver.

For multifunction adapters, you should supply an INF file that chooses the appropriate drivers (including default drivers) for all the adapter's devices. This prevents additional dialog boxes from again requesting the default driver or a manufacture's disk for the rest of the devices on the adapter. When an INF file is used in this manner for default driver selection, it must link the HardwareID (XXX0000) to the appropriate compatible device driver from the Windows 95 distribution compact disc or installation disks. If this is not done, Windows 95 will continue to query the user for either the default driver or a new driver, thus defeating the purpose of using the INF file in this way.