Надо перехватить аппаратное прерывание от ISA устройства (не PnP). После прочтения книги Солдатова по разработке драйверов получился почти рабочий пример (опыты провожу на затычке от LPT порта, IRQ 7, ОС - WinXP SP2).
Проблема заключается в том, что после перехвата прерывания (через ioConnectInterrupt) обработчик вызывается только когда IRQ 7 назначено "родному" драйверу лпт порта винды. Пробовал назначить себе IRQ через ioAssignResources, ioReportResourcesforDetection, ioReportDetectedDevice (все вызывал из DriverEntry) менеджер устройств показывает, что прерывание начначено моему устройству, но обработчик не вызывается

.
Что я делаю не так? Очень помог бы пример на любом языке.
Для лпт порта нужна специальная настройка?
На нормальном ISA устройстве это должно сработать?