Device and device instance identification strings
The Windows operating system uses a number of device identification strings
to identify devices that are plugged / installed on a computer. Windows notably
leverages certain identification strings to locate the driver package that best
matches a device. Additionally, device instance identification strings
are
set to uniquely identity each device instance (to distinguish a device from
other devices of the same type / vendor / product).
The following identification strings
are defined:
-
The
vendor ID
identifies a specific vendor, with a mapping available on devicehunt.com. Theproduct ID (PID)
identifies a product from that vendor. -
The
device ID
orhardware ID
is “a vendor-defined identification string that Windows uses to match a device to a driver package”. The identifier references the vendor and product names as well as the revision version. Example for aDataTraveler_3
USB key by Kingston:Ven_Kingston&Prod_DataTraveler_3.0&Rev_PMAP
. -
The
instance ID
is “a device identification string that distinguishes a device from other devices of the same type on a computer”. It contains the deviceserial number
, if supplied, and otherwise “some kind of location information”. Example of aninstance ID
for a device that does not supply a serial number:5&2eab04ab&0&1
. -
The
device instance ID
is “a system-supplied device identification string that uniquely identifies a device in the system”. It is notably composed of the device’sdevice ID
andinstance ID
. -
The
container ID
is “a system-supplied device identification string that uniquely groups the functional devices associated with a single-function or multifunction device installed in the computer”. Starting with Windows 7, thePlug and Play (PnP) manager
uses thecontainer ID
to group one or more device nodes (devnodes
) that originated from a particular physical device. -
The
device interface class
represents the type of the device (storage devices, USB devices, Bluetooth devices, etc.). Eachdevice interface class
is associated with a uniqueGUID
, defined by Microsoft. The list ofGUIDs
by category of device can be found in the Microsoft documentation.- External physical storage
GUID
:{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
. - Logical volumes
GUID
:{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}
.
- External physical storage
References
View on GitHub