Given the address of a PCI device (i.e. bus, device, function), how can one programatically read, using Win32 API calls in userspace, the config space (e.g. vendor ID, device ID) for that device?
On Linux, one openes the /sys/bus/pci/devices//config file and reads from the right offset.
You can use the SetupDiGetClassDevs API to traverse a list of devices. If you pass PCI
in the Enumerator
parameter, you can enumerate only PCI devices.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With