Reputation: 119
I want to know if I can do it in C# or other languages?
Upvotes: 1
Views: 1447
Reputation: 244991
There is no universal way to do this because BIOS configurations vary from vendor to vendor. The mapping of various CMOS memory locations is unique to the motherboard, BIOS, and BIOS revision. You'll have to find out this information from your particular vendor, and your app won't be very portable.
Plus, even once you get past this hurdle, Windows won't allow you to access the BIOS (or otherwise do port I/O) from a user-mode application. You'll have to write a kernel mode driver to be able to do this. And of course, you cannot write kernel mode drivers in C# because the runtime executes in user mode. You'll have to write something like this in C.
Upvotes: 5