GetSystemFirmwareTable can be used to retrieve an ACPI system table. The second argument to this function is the firmware table ID, e.g. UEFI or FACP. However, sometimes there are multiple ACPI tables with a given ID, like UEFI.
Using RWEverything to list ACPI tables, I see many SSDT tables for example(screenshot). And I was told there could be multiple UEFI tables on the system I am creating software for. However the GetSystemFirmwareTable function has a remark that:
For ACPI, if the system contains multiple tables with the same name, they are all enumerated with EnumSystemFirmwareTables. However, GetSystemFirmwareTable retrieves only the first table in the list with this name.
So it seems if there's multiple tables with the same ID(name) I can only get the first one with this function. As far as the EnumSystemFirmwareTables function mentioned, that seems to just list the IDs of the ACPI tables on the system, but not any of the data in the tables.
So how do I access a specific ACPI table in Windows when there's multiple tables of that ID/name? Any other function or method you can point me to is helpful.