функция обратного вызова IDE_HW_INTERRUPT (irb.h)
Подпрограмма драйвера минипорта IdeHwInterrupt обрабатывает прерывания адаптера шины узла (HBA), к которому подключен контроллер для драйвера мини-порта.
Синтаксис
IDE_HW_INTERRUPT IdeHwInterrupt;
BOOLEAN IdeHwInterrupt(
[in] PVOID ChannelExtension
)
{...}
Параметры
[in] ChannelExtension
Указатель на расширение канала.
Возвращаемое значение
AtaHwInterrrupt возвращает значение TRUE , если прерывание создается одним из каналов контроллера. Если канал не создает прерывание, подпрограмма должна как можно быстрее возвращать значение FALSE .
Комментарии
Подпрограмма IdeHwInterrupt завершает операции ввода-вывода, управляемые прерываниями.
Если указанный канал не создает прерывание, драйвер мини-порта должен выполнить второй (рекурсивный) вызов подпрограммы IdeHwInterrupt для обработки прерываний, предназначенных для другого канала контроллера.
Если драйверу мини-порта требуется много времени для обработки прерывания, он должен выполнить следующие действия:
- Закройте прерывание в HBA.
- Отключите прерывания в канале, указанном параметром ChannelExtension .
- Запросите рабочую подпрограмму с помощью AtaPortRequestWorkerRoutine.
- Выполните дополнительную обработку в рабочей процедуре.
- Включите прерывания в канале.
Рабочая подпрограмма должна очистить прерывание на адаптере безопасности, прежде чем она вернет значение TRUE.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | irb.h (включая Irb.h) |