VxD драйвера

Низкоуровневое программирование портов, микроконтроллеров и т.д.

Модератор: Andy

Andy
Сообщения: 238
Зарегистрирован: 17 фев 2004, 08:15
Откуда: Минск

Надо бы добавить проверки на ошибки например после:
VxDCall VPICD_Convert_IRQ_To_Int;Получаем вектор для IRQ 7
и т.д. И попробовать что-нибудь отловить.

Самый тупой способ - удалить код между Disable_VM_Ints и Enable_VM_Ints, а потом последовательно добавлять куски и смотреть когда будет ошибка. И еще вот:
xchg EDX,EAX ;получаем адрес своего обработчика
mov ECX,EDX
shr ECX,10h
movzx EDX,DX
VMMCall Set_PM_Int_Vector ;Устанавливаем вектор на свой обработчик
В eax вроде ведь номер прерывания, а не вектор?? В ddk95 сейчас посмотрел...

В любом случае, с пустой процедурой Sys_Dynamic_Device_Init хоть загружается?
*provided AS IS
Ответить