|To change BIOS setting from within Windows so they are effective the next time Windows boots can be done bit it is not a simple task. You need to be able to access and modify CMOS memory. CMOS memory is addressed via hardware ports.|
In order to do that you will need techinical information from the motherboard manufature regarding information on the port addresses the BIOS uses to address CMOS memory. These are likely to be different for each motherboard manufaturer.
There are no APIs that directly access the CMOS memory. The API is software dpendant and is part of Windows. The BIOS and CMOS memory are hardware dependant.