Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Существует ли возможность програмно менять какие-либо настройки в биосе

5.3K
10 августа 2006 года
!Волк
95 / / 19.07.2006
Есть ли какие нибудь функции WinApi, с помощью которых можно менять какие либо настройки в биосе. В частности, меня интересует програмное изменение настройки включения компа через биос.:confused:
10K
10 августа 2006 года
Sonic_amiga
34 / / 19.06.2006
Нет. И ни в одной ОС этого нет. Для нее вообще никакого BIOS не существует. На машинах следующего поколения, например, вообще нет BIOS, там вместо него EFI firmware (правда до нас это как всегда дойдет лет через 10).
Настройки BIOS хранятся в памяти CMOS. К ней можно обратиться через системный драйвер, месторасположение некоторой (не всей) информации стандартизировано. Правда настройки ACPI в стандартизированную часть не входят. Так что фактически ее содержимое зависит от производителя и даже версии BIOS.
Есть еще собственно драйвер ACPI. Я не знаю, можно ли менять эти установки через него. Советую ознакомиться со спецификацией самого ACPI сначала.
334
10 августа 2006 года
HexEdit
809 / / 27.07.2006
Sonic_amiga, может линк дашь?
6.8K
10 августа 2006 года
Romikgy
84 / / 28.04.2005
можно через порты обратится к бивесу
6.6K
10 августа 2006 года
Scaiman
126 / / 25.07.2006
[QUOTE=Romikgy]можно через порты обратится к бивесу[/QUOTE]
Через порты можно обращаться только не в Windows XP.
6.8K
11 августа 2006 года
Romikgy
84 / / 28.04.2005
ты хотел сказать не в планке виндовс НТ, но знаешь сколько драйверов в сети , для доступа к портам в виндовс НТ, так что и в ХР тоже можно :)
3.3K
11 августа 2006 года
GENA_DJ
123 / / 08.03.2005
[QUOTE=Scaiman]Через порты можно обращаться только не в Windows XP.[/QUOTE]

[QUOTE=Romikgy]ты хотел сказать не в планке виндовс НТ, но знаешь сколько драйверов в сети , для доступа к портам в виндовс НТ, так что и в ХР тоже можно :)[/QUOTE]

HAL.dll (в стандартном дистрибутиве WINXP, WIN2003 точно есть) экспортирует, например, WRITE_PORT_UCHAR и READ_PORT_UCHAR. Они разве не решают проблему?
6.8K
11 августа 2006 года
Romikgy
84 / / 28.04.2005
они тоже
354
11 августа 2006 года
ШпиЁн
468 / / 19.02.2006
хм... кто сказал что нельзя в порты в XP писать\читать? можно всё! да, это привеллегированные инструкции(in out на асме), но эта проблема давно решена. Рекомендую почитать про драйвер giveio или totalio...
Они используют недокументированные функции Ke386SetIoAccessMap, Ke386IoSetAccessProcess. Там всего кода меньше страницы. Достаточно просто загрузить драйвер в память(как сервис), и вызвать CreateFile для устройства драйвера.(что-то типа CreateFile("\\\\.\\giveio", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);)

Если нужен пример могу скинуть, "как попищать системным динамиком через порты в winXP" :-))))

а насчет WRITE_PORT_UCHAR и READ_PORT_UCHAR - это только в драйвере можно использовать.
6.6K
11 августа 2006 года
Scaiman
126 / / 25.07.2006
скинь пару премеров.
354
11 августа 2006 года
ШпиЁн
468 / / 19.02.2006
вот пример...
для начала надо кинуть giveio.sys на диск C:. потом просто запустить beeper.exe. ВСЕ!

Прога проста и ясна. Чтобы убедиться что в порты писать нельзя без чудо-драйвера - просто закомментируйте строчку LoadDriver(); в главной функции. при запуске вылетит что-то типа
"Unhandled exception at 0x00401027 in beeper.exe: 0xC0000096: Privileged instruction."

enjoy!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог