|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Мар 24, 2003 01:22:02 В процедуре DriverEntry пытаюсь повесить обработчик на таймер (IRQ=0), сырец: Irql = HARD_IRQ =0; MyMappedVector = HalGetInterruptVector(Internal,// ??? - внутренне устройство -? или InterfaceTypeUndefined ? или чёта ещё 0,HARD_IRQ,HARD_IRQ,&Irql,&Affinity); code = IoConnectInterrupt(&pInterruptObject,//OK IsrProcedure,//OK pDeviceObject,//OK NULL,//OK MyMappedVector,// -? Irql,Irql, //OK Latched,// активный уровень - "1" /// LevelSensitive прерывание по "0", TRUE, // - ? винда раньше должна повеситься на таймер со значением FALSE, но тогда код ошибки //должен быть другой Affinity,//OK FALSE);// OK Я понимаю, что таймер для винды святое, но последний вызов как ни странно возвращает C000000D = STATUS_INVALID_PARAMETER, а не STATUS_INSUFFICIENT_RESOURCES. Методом исключения я вроде как определил (теоритически) все работающие параметры, а вот параметры помеченные вопросами вызывают у автора затруднения. |
|
|
Дата: Мар 24, 2003 18:00:19 Можно попробовать вообще не использовать HalGetInterruptVector. в этом случае MyMappedVector будет равно 30h + IRQ_TIMER, если рабоаешь в NT... Для COM-порта два первых параметра - Eisa, 0. вроде таймер на той-же шине. HalGetInterruptVector(Eisa, 0... В свое время пытался запустить IoConnectInterrupt - не получилось - выдавала ту же ошибку |
|
|
Дата: Мар 25, 2003 00:15:01 Спасибо, но всёравно не работает (ошибка таже). MyMappedVector возвращает корректное значение, а вот IoConnectInterrupt ругается сволочь. |
|
|
Дата: Мар 25, 2003 11:30:03 |
|
|
Дата: Мар 28, 2003 01:05:23 Ссылка конечно реальная, спасибо. Но трабла в том, что я и на 10-й IRQ (у миня на нём сетевуха, звук и USB) пробовал вешаться - результат тот же. Уж этот уровень ядро врятли юзает :) По логике приведенной тобой статьи (вернее ссылки на неё) функция должна вернуть ошибку STATUS_INSUFFICIENT_RESOURCES (мол херъ тебе, а не таймер), так нет же - вещает, что что-то там с параметрами. Может глючит из-за того, что мой драйвер "поздно" грузиться : Start=2 ? |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.051 |