Вот такая штука не понятна мне.Драйвер рулится функцией DeviceIoControl а если надо реагировать на прерывыния? Как задать процедуру? Через ту-же DeviceIoControl ставят адрес callback функции или как?
DeviceIoControl предназначена по большей части для управления драйвером из-вне, т.е. из юзермода, путем посылки ему IOCTL-запросов. Как сказал Clerk при инициализации драйвера вызывается функция IoConnectInterrupt(..., (PKSERVICE_ROUTINE) OnInterrupt, ...). Функция OnInterrupt будет вызвана при генерации прерывания. Более подробнее об этом читай у Оуни