Re[3]: Windows и оборудование
От: TarasCo  
Дата: 26.05.04 11:38
Оценка:
Здравствуйте, BugiBos, Вы писали:

BB>устройство виртуальное, неважно через какой порт оно подключается. Просто задаем схему устройства(принципиальную допустим), указываем порт через который его подключать к компу. Надо чтобы Винда воспринимала его как реальное устройство. Т.е. драйвер под это виртуальное устройство работал также, как бы он работал, если бы это устройство

реально существовало бы в системе.

Это очень сложно, можно сказать неосуществимо. Драйверу устройств используют так называемый HAL — часть ядра, отвечающая за абстракцию программного обеспечения от аппаратной реализации. Например, если Вам нужно вывести что то в порт, вы напишите WRITE_POT_ULONG (используя HAL) или напрямую: out port, eax
Теперь вы предлагаете написать некий драйвер, который должен перехватить обращение к реальному порту (съемулировать присутствие аппаратуры). В первом случае (использование HAL) можно попробывать запатчить соответствующий компонет HAL. Это еще можно представить. Во втором случае (прямой вызов инструкции ввода/вывода) я даже не знаю осуществимо ли? В принципе в сегменте состояния задачи есть маски запрещения портов, я честно говоря не знаю, что будет при попытке обращения к запрещенному порту. Если исключение — то его в принципе можно обработать.
Да пребудет с тобою сила
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.