· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.VIROLOGY —› Кто писал WDM драйвера, помогите.

Посл.отвђт Сообщен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