Plug and play device
The presence of an ESRT configuration table will direct Windows to enumerate a separate PnP device instance for each firmware resource. For driver matching purposes, a firmware resource device is uniquely identified by its hardware IDs, which embed the Firmware ID GUID. Referring to the ESRT example in ESRT table definition, the corresponding device instances are enumerated.
Device instance ID | Hardware ID |
---|---|
UEFI\RES_{SYSTEM_FIRMWARE}\0 | UEFI\RES_{SYSTEM_FIRMWARE}&REV_1, UEFI\RES_{SYSTEM_FIRMWARE} |
UEFI\RES_{DEVICE_FIRMWARE}\0 | UEFI\RES_{DEVICE_FIRMWARE}&REV_1, UEFI\RES_{DEVICE_FIRMWARE} |
Notice that two hardware IDs are reported by each firmware resource device. The first hardware ID includes the current firmware resource version, while the second one does not.
Since the firmware resource version is expected to change as a result of applying a firmware update, it is important that a driver be targeted for the second un-versioned hardware ID so that it can be applicable for installation across all firmware resource versions, no matter which version is currently present on a given system.
Related topics
Authoring an update driver package
Device I/O from the UEFI environment