Windows Driver Kit: Device Installation
Device Identification Strings
The Plug and Play (PnP) manager and Setup use device identification strings to identify devices that are installed in a computer.
Setup uses the following device identification strings, which are reported by a device's enumerator, to locate the information (INF) file that best matches the device:
A device has only one device ID, which is the most specific ID for a device. A device can also have less specific hardware IDs and compatible IDs. Setup first attempts to find an INF file that matches the device ID. If it does not find such a match, Setup next attempts to find a match to one of the less specific hardware IDs or compatible IDs. For more information about how Setup uses these IDs to match a device to an INF file, and how to specify IDs in an INF file, see How Setup Selects Drivers.
In addition to using the preceding IDs to identify devices, the PnP manager uses the following IDs to uniquely identify instances of each device that are installed in a computer:
Beginning with Windows 7, the PnP manager uses the following device identification string to group one or more device nodes (devnodes) that were enumerated from each instance of a physical device installed in a computer:
Each enumerator customizes its device IDs, hardware IDs, and compatible IDs to uniquely identify the device that it enumerates. In addition, each enumerator has its own policy to identify hardware IDs and compatible IDs. For more information about hardware ID and compatible ID formats for most of the system buses, see the following: