Hi @Mirko ,
Thanks for reaching out.
CMOS doesn’t actually contain detailed hardware information. It’s mainly used by the BIOS to store basic setup data like the system clock and boot order, not a full list of installed hardware.
On top of that, regular C++ applications running in user mode can’t directly access BIOS, CMOS, or hardware ports. Windows intentionally blocks this to keep the system stable and secure. Only kernel-mode code (device drivers) is allowed to interact with hardware at that level.
https://learn.microsoft.com/en-us/windows-hardware/drivers/gettingstarted/user-mode-and-kernel-mode
Because of these limits, there isn’t a supported or safe way for a normal C++ app to read CMOS or BIOS data directly on Windows.
The supported approach for user-mode applications is to use Windows APIs or WMI, which are designed to provide this information reliably across different machines.
https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmi-start-page
Hope this helps! If my answer was helpful - kindly follow the instructions here so others with the same problem can benefit as well.