Что означает код NTSTATUS 296 (STATUS_INTERRUPT_STILL_CONNECTED)?

 
Также может означать:
КонстантаТипОС
WORKER_THREAD_RETURNED_WITH_BAD_IO_PRIORITYКод BSODWindows
Предыдущий Следующий
STATUS_INTERRUPT_VECTOR_ALREADY_CONNECTED STATUS_PROCESS_CLONED

STATUS_INTERRUPT_STILL_CONNECTED

Что означает STATUS_INTERRUPT_STILL_CONNECTED

STATUS_INTERRUPT_STILL_CONNECTEDдрайвер пытается завершить жизненный цикл устройства, пока аппаратное прерывание всё ещё подключено.

Практический смысл

Такой статус указывает на неверный порядок teardown. Отключение источника прерываний на устройстве само по себе недостаточно: объект прерывания ядра должен быть корректно отсоединён после остановки нового I/O и синхронизации с уже выполняющимися ISR/DPC.

Что проверить

  • Зафиксируйте момент подключения interrupt и пару функций, которыми драйвер должен его отключить.
  • Перед disconnect остановите новые запросы, замаскируйте источник прерывания на устройстве и дождитесь завершения ISR/DPC.
  • Проверьте, не выполняется ли cleanup дважды и не остаётся ли старый interrupt object после повторного старта устройства.
  • Driver Verifier и трассировка PnP/power помогут увидеть неправильный порядок stop/remove и освобождения ресурсов.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.