Previous Next

Identifiers for PCI Devices

The device ID of a PCI device has the form

PCI\VEN_v(4)&DEV_d(4)&SUBSYS_s(4)n(4)&REV_r(2)

where v(4) is the vendor identifier that the PCI Special Interest Group assigned to the manufacturer of the card, d(4) is the device identifier that the manufacturer assigned to the card, s(4) is the subsystem identifier reported by the card, n(4) is the subsystem vendor identifier, and r(2) is the revision number.

An example of how this identifier might appear for a display adapter on a laptop computer is:

PCI\VEN_102C&DEV_00E0&SUBSYS_00000000&REV_04

The PCI bus driver supplies two hardware IDs. The format of the second hardware ID is the same as the first, but without the revision information.

PCI\VEN_v(4)&DEV_d(4)&SUBSYS_s(4)n(4)

In addition to the two hardware IDs, the PCI bus driver also generates between eight and ten compatible IDs, depending on whether the system identifier is zero or not. If there is no subsystem ID or subsystem vendor ID, then the two hardware IDs indicated above collapse into the format of the first two compatible IDs in the list below, and in that case, these two IDs cease to be compatible IDs and become hardware IDs:

PCI\VEN_v(4)&DEV_d(4)&REV_r(2) (compatible ID only if there is system ID, otherwise a hardware ID)

PCI\VEN_v(4)&DEV_d(4) (compatible ID only if there is system ID, otherwise a hardware ID)

PCI\VEN_v(4)&DEV_d(4)&REV_r(2)&CC_c(2)s(2)

PCI\VEN_v(4)&DEV_d(4)&CC_c(2)s(2)p(2)

PCI\VEN_v(4)&DEV_d(4)&CC_c(2)s(2)

PCI\VEN_v(4)&CC_c(2)s(2)p(2)

PCI\VEN_v(4)&CC_c(2)s(2)

PCI\VEN_v(4)

PCI\CC_c(2)s(2)p(2)

PCI\CC_c(2)s(2)

In the above list, c(2) represents the base class code from the configuration space, s(2) is the subclass code, and p(2) is the programming interface. Thus, any of the following compatible IDs for the display adapter in the previous example would have matched the information in an INF file for that adapter:

PCI\VEN_102C&DEV_00E0&REV_04

PCI\VEN_102C&DEV_00E0

PCI\VEN_102C&DEV_00E0&REV_04&CC_0300

PCI\VEN_102C&DEV_00E0&CC_030000

PCI\VEN_102C&DEV_00E0&CC_0300

PCI\VEN_102C&CC_030000

PCI\VEN_102C&CC_0300

PCI\VEN_102C

PCI\CC_030000

PCI\CC_0300