Alexy
Зарегистрирован: 22.10.2003 Сообщения: 48
|
Добавлено: Сб Фев 09 2002 17:00 Заголовок сообщения: Re: Существует ли драйвер |
|
|
Прямым вызовом функции этого сделать нельзя, поскольку это идет в разрез с моделью работы процессора protected mode. Вот немногие из табуна причин: 1. Нужны таблицы дескрипторов MMU(memory management unit), для разрешения логического адреса в физический 2. Нужны права на перегрузку MMU процессора, т.к. call 123456h использует логический адрес, а подстановка происходит внутри MMU 3. Чтобы не наломать дров, напр. повредить таблицы дескрипторов желательно знать спецификацию context switch для Win98. 4. Прерывания (не ловушки) автоматически запрещают вложенный вызов прерываний, значит нельзя сделать context switch, и значит использовать механизм сообщений Windows, а вызываемая функция должна работать вне контекста процесса. Последнее означает, что её нужно убрать из аппликации и вставить в драйвер.
А главное: нет нужды подвергать OS опасности зависания. Проще и надёжнее записать результаты работы драйвера в разделяемую память, известную аппликации и на этом умыть руки. |
|