|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Мар 25, 2003 00:41:40 Может кто вешал обработчики прерываний в Win2K/WinXP, тада помогите! В процедуре DriverEntry пытаюсь повесить обработчик на таймер (IRQ=0), сырец: Irql = HARD_IRQ =0; MyMappedVector = HalGetInterruptVector(PCI,// 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. Методом исключения я вроде как определил (теоритически) все работающие параметры, а вот параметры помеченные вопросами вызывают у автора затруднения. Спасибо. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.037 |