Generic device identifiers enable the fingerprinting and installation of correct drivers for the functioning of plug-and-play devices such as monitors and mice. The identifiers are a long list of two-part codes. The first part identifies the device vendor, while the second part identifies the specific device.
The identifier string may also include supplementary codes to further aid in matching buses with devices. These include a subsystem identifier, which identifies the device subsystem, and the character revision number, which indicates the chronological order of the identifier.
According to the Microsoft Developer’s Network official thread on the topic, identifier strings are bus-specific, which means that computer drivers that interface buses with devices are not interchangeable between bus-device pairs. Updating the operating system often expands the list of generic drivers for a specific bus, increasing the number of devices that the computer is capable of interfacing with.
Users can supplement the generic device identifiers stored on a computer's hard disk with online repositories. Most modern operating systems, such as Windows and Mac, attempt to contact their online repositories for the correct drivers if they cannot find a match in their local identifier list. Users should always obtain drivers from such trusted sources because third-party sourced drivers may contain malicious software.