We need to segregate this Hardware IDs into PCI Identifiers for better understanding of Vendor ID, Device ID, SUBSYS Id, Revision Number which is off course part of Hardware IDs. Let’s break this hardware ID to Identify PCI Device with available PCI Device Identifiers.
PCI\VEN_10EC&DEV_8168&SUBSYS_17F6103C&REV_07
This above mention hardware IDs string is starting with PCI\ which means that this device will be identified as PCI Device.
This Identifier portion is called Vendor Id Identifier portion where four alpha numeric numbers after VEN_ are PCI SIG-assigned identifier for PCI Device Vendor. In above PCI Device Identifier example, vendor id 10EC is a Vendor Id Identifier.
This identifier portion refers to PCI Device Identifier portion for the leading vendor ID VEN_10EC. Here device Id is a term used by PCI SIG, which refers to PCI Chip. PCI Device Identifier portion in above example contains device ID 8168 as a PCI Device under Vendor ID 10EC.
This portion further contains two PCI Identifiers which are vendor define subsystem identifier. SUBSYS contains eight-character which are requires further segregation based on four-character identifiers. First four-character are basically vendor defined subsystem identifier which Device KB will name it to sub-device ID, while second four-character are PCI SIG-assigned Identifier for the vendor or subsystem and Device KB will name it sub-vendor ID for making it clearer. From the above example SUBSYS_17F6103C contains this information
Above Hardware ID contains Subsystem Identifier which is segmented with Sub Device ID 17F6 which is basically a device id assigned by it’s vendor.
This is again PCI SIG-assigned vendor id for subsystem. In above Hardware IDs example, subsystem identifier portion SUBSYS_17F6103C contains sub vendor id 103C which is PCI SIG-assigned id.
REV is normally two-character revision number used in the Hardware ID.
Now, if you again have a look on the image shared in this post contains four lines under hardware IDs and last two lines contains some more PCI Identifiers which are required if you are interacting with the Device technically like interface, programming etc. Let us explain this as well !
PCI\VEN_10EC&DEV_8168&CC_020000
This PCI hardware ID string contains another PCI Device Identifier called class code marked as CC which contains six-characters after CC_ and same as subsystem identifier, this identifier contains Information as below; Configuration Space First two-character under base class code or CC are for configuration space. Subclass Code Second two-character under after Configuration Space under base class code are used to identify subclass code of the device. Programming Interface code.
Class Code Identifier last two-character contains Programming Interface Code and configuration space, subclass code, programming interface combines the class code identifier. A complete Hardware ID contains Vendor ID, Device ID, Subsys ID and Revision number while under Hardware IDs there can be multiple PCI Device Identifier lines which can contains information as mentioned above. If you are already enough technical and know the pci identifiers and their respective information, you might need to check our How to identify an unknown device on Windows Article for directly copying the Hardware Ids
.