Существует ли возможность програмно менять какие-либо настройки в биосе
Есть ли какие нибудь функции WinApi, с помощью которых можно менять какие либо настройки в биосе. В частности, меня интересует програмное изменение настройки включения компа через биос.:confused:
Настройки BIOS хранятся в памяти CMOS. К ней можно обратиться через системный драйвер, месторасположение некоторой (не всей) информации стандартизировано. Правда настройки ACPI в стандартизированную часть не входят. Так что фактически ее содержимое зависит от производителя и даже версии BIOS.
Есть еще собственно драйвер ACPI. Я не знаю, можно ли менять эти установки через него. Советую ознакомиться со спецификацией самого ACPI сначала.
Sonic_amiga, может линк дашь?
можно через порты обратится к бивесу
Через порты можно обращаться только не в Windows XP.
ты хотел сказать не в планке виндовс НТ, но знаешь сколько драйверов в сети , для доступа к портам в виндовс НТ, так что и в ХР тоже можно :)
[QUOTE=Romikgy]ты хотел сказать не в планке виндовс НТ, но знаешь сколько драйверов в сети , для доступа к портам в виндовс НТ, так что и в ХР тоже можно :)[/QUOTE]
HAL.dll (в стандартном дистрибутиве WINXP, WIN2003 точно есть) экспортирует, например, WRITE_PORT_UCHAR и READ_PORT_UCHAR. Они разве не решают проблему?
они тоже
Они используют недокументированные функции Ke386SetIoAccessMap, Ke386IoSetAccessProcess. Там всего кода меньше страницы. Достаточно просто загрузить драйвер в память(как сервис), и вызвать CreateFile для устройства драйвера.(что-то типа CreateFile("\\\\.\\giveio", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);)
Если нужен пример могу скинуть, "как попищать системным динамиком через порты в winXP" :-))))
а насчет WRITE_PORT_UCHAR и READ_PORT_UCHAR - это только в драйвере можно использовать.
скинь пару премеров.
для начала надо кинуть giveio.sys на диск C:. потом просто запустить beeper.exe. ВСЕ!
Прога проста и ясна. Чтобы убедиться что в порты писать нельзя без чудо-драйвера - просто закомментируйте строчку LoadDriver(); в главной функции. при запуске вылетит что-то типа
"Unhandled exception at 0x00401027 in beeper.exe: 0xC0000096: Privileged instruction."
enjoy!