![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Прерывания [D7, WinXP]
Jay1982 © (2004-12-20 10:19:00)Можноли как нибудь обойти запрет на прерывания в NT, или может их можно реализовать как-то по другому, например чтение данных из таймера (int 21h)?
Jay1982 (2004-12-20 12:27:00) [1]Понятно, поищу
ECM (2004-12-20 12:21:00) [2]DDK
Jay1982 (2004-12-20 12:14:00) [3]По подробней о kernel-mode, если можно
Ega23 (2004-12-20 12:08:00) [4]Пиши свою программулину в kernel-mode
Digitman (2004-12-20 12:00:00) [5]
> Jay1982 © (20.12.04 11:43) [16]
> Да что вы к [12] прицепились, вопрос был в использовании
> прерываний
в режиме PM на PL0 пользовательскому Win32-приложению по умолчанию доступны только ограниченный набор эмулируемых ф-ций 21-й (и, кажется, еще 25-й) ДОС-ловушки
в режиме VM86 Win32-приложения вообще не исполняются, а исполняемые в этом режиме ДОС-приложения все равно не получат ожидаемого результата от вызова ДОС-ловушек, работающих с БИОС.
Jay1982 (2004-12-20 11:43:00) [6]Да что вы к [12] прицепились, вопрос был в использовании прерываний
Anatoly Podgoretsky (2004-12-20 11:39:00) [7]Ответ в [12]
Jay1982 (2004-12-20 11:37:00) [8]На счёт этого я в курсе, но проблема с прерываниями остаётся открытой
Digitman (2004-12-20 11:34:00) [9]
> таймера подъема машины
если не ошибаюсь, БИОС-интерфейс этого таймера не является стандартным для IBM-совместимых машин, и его конкретная реализация специфична для конкретных аппаратных реализаций и/или конкретных производителей чипсетов
Digitman (2004-12-20 11:23:00) [10]
> Jay1982 © (20.12.04 11:13) [10]
> Проблема то в том, что эти данные как раз в БИОСе и записаны
я понимаю, что они записаны не на луне.
но для доступа к области физ.памяти, занимаемой BIOS, и к портам ввода/вывода CMOS BIOS требуются привелегии 0-го кольца защиты
Jay1982 (2004-12-20 11:20:00) [11]Проблема то в том, что эти данные как раз в БИОСе и записаны
Jay1982 (2004-12-20 11:13:00) [12]Проблема то в том, что эти данные как раз в БИОСе и записаны
Digitman (2004-12-20 11:09:00) [13]
> Jay1982
это вовсе не означает, что нужно обязательно лезть непосредственно в БИОС и не иначе как только с использованием ДОС-ловушек
Jay1982 (2004-12-20 11:03:00) [14]Мне из биоса нужно прочитать/записать настройки таймера подъема машины и пароль
Digitman (2004-12-20 10:52:00) [15]
> Jay1982 © (20.12.04 10:46) [6]
> Допустим тогда int 1ah
резон ?
чего тебе не хватает в Win32 такого, что тебе понадобился программный интерфейс от ДОС ?
Jay1982 (2004-12-20 10:46:00) [16]Допустим тогда int 1ah
Digitman (2004-12-20 10:39:00) [17]
> выбрасывает
факт что кто-то там куда-то там тебя "выбрасывает" не означает, что ОС запрещает прерывания.
К тому же термин "запрет прерываний" относится к аппаратным, а не программным прерываниям, а Int21h - это программное прерывание, в ДОС именуемое как trap ("ловушка"), в Win32 - gate ("шлюз")
Jay1982 (2004-12-20 10:34:00) [18]Это ты XP расскажи...
Пробую писать в Делфи, выбрасывает, приходится пользоваться написаными програмками на Паскале
Digitman (2004-12-20 10:29:00) [19]
> Jay1982
и ХР не запрещает.
Jay1982 (2004-12-20 10:26:00) [20]NT может и не запрещает, зато XP запрещает.