Как в современных драйверах устанавливаются обработчики прерываний?

Тема в разделе "WASM.BEGINNERS", создана пользователем KingT, 28 апр 2010.

  1. KingT

    KingT Member

    Публикаций:
    0
    Регистрация:
    12 янв 2006
    Сообщения:
    208
    Вот такая штука не понятна мне.Драйвер рулится функцией DeviceIoControl а если надо реагировать на прерывыния?
    Как задать процедуру? Через ту-же DeviceIoControl ставят адрес callback функции или как?
     
  2. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    IoConnectInterrupt().
     
  3. JhanGhuangxi

    JhanGhuangxi New Member

    Публикаций:
    0
    Регистрация:
    15 апр 2010
    Сообщения:
    31
    DeviceIoControl предназначена по большей части для управления драйвером из-вне, т.е. из юзермода, путем посылки ему IOCTL-запросов.
    Как сказал Clerk при инициализации драйвера вызывается функция IoConnectInterrupt(..., (PKSERVICE_ROUTINE) OnInterrupt, ...).
    Функция OnInterrupt будет вызвана при генерации прерывания.
    Более подробнее об этом читай у Оуни