A device in the Windows 95 Plug and Play system can be configured only when the system can create a unique identifier for the device. This identifier is used to locate device-specific information in an INF file for installation purposes and in the registry for initialization and configuration purposes. The registry and the INF files contain information about the drivers that are needed for the device and may also contain configuration information or even previous settings for the device.
Each PC card must contain the information required to create this unique device ID. This is done through the use of tuples on the card.
The following table lists the preferred tuples used by PCCARD to create a device ID for a PC card.
Tuple | Comments |
Level 1 Version/ Product Information | Product Information String Product Name Product Number Other Manufacturer Information |
Manufacturer ID | Card manufacturer ID code - Defines manufacturer for this card. |
Device | Device size and type are used by Card Services to configure the socket interface. |
Configuration | Indicates last configuration entry in the configuration entry table for configurable cards. Indicates location of configuration registers. |
Configuration Entry | Configuration requirements should be specified for I/O space, interrupts, memory, and so on. |
These tuples have the following codes and ID values:
Tuple | Tuple Code | Tuple ID |
Level 1 Version/ Product Information | CISTPL_VERS_1 | 15H |
Manufacturer ID | CISTPL_MANFID | 20H |
Device | CISTPL_DEVICE | 01H |
Configuration | CISTPL_CONFIG | 1AH |
Configuration Entry | CISTPL_CFTABLE_ENTRY | 1BH |
The device ID string is of the form: PCMCIA\Manufacturer-Product-CRC16. The Manufacturer and Product portions are derived from from the Level 1 Version tuple with non-printable characters removed and spaces converted to underscores. The 16-bit CRC is created from the DEVICE, VERS_1, CONFIG, CFTABLE_ENTRY, and MANFID tuples. The PCMCIA device ID string is one of the outputs from the included utility DTPL.EXE. Refer to the DTPL section for more information about this utility.