Что означает код BSOD 258 (DPC_WATCHDOG_TIMEOUT)?

 
Также может означать:
КонстантаТипОС
WAIT_TIMEOUTОшибка WindowsWindows
STATUS_TIMEOUTNTSTATUSWindows
Предыдущий Следующий
CLOCK_WATCHDOG_TIMEOUT MUP_FILE_SYSTEM

DPC_WATCHDOG_TIMEOUT

Проверка ошибок DPC_WATCHDOG_TIMEOUT имеет значение 0x00000102. Это означает, что подпрограмма сторожевого таймера DPC не была выполнена за выделенный интервал времени.

Важно

Эта статья предназначена для программистов. Если при работе с компьютером появился синий экран с кодом DPC_WATCHDOG_TIMEOUT, см. Устранение ошибок синего экрана.

Параметры DPC_WATCHDOG_TIMEOUT

Параметр Описание
1 Интервал тайм-аута сторожевого таймера DPC в номинальных тактах.
2 Адрес PRCB зависшего процессора.
3 Зарезервировано
4 Зарезервировано

Причина

Обычно эта проверка означает, что ISR завис на IRQL ниже clock level, но выше dispatch level, либо подпрограмма DPC зависла на указанном процессоре.

Например, для StorPort Miniport drivers StorPort.sys обрабатывает завершения I/O в подпрограмме, работающей на DISPATCH_LEVEL и последовательно вызывающей подпрограммы завершения I/O всех только что завершённых IRP. Если отдельные подпрограммы завершения I/O или их совокупность выполняются слишком долго, клавиатура и/или мышь могут перестать отвечать. Кроме того, сторожевой таймер DPC Windows может определить, что подпрограмма StorPort выполнялась недопустимо долго.

Устранение

Драйвер ядра в стеке хранилища может снизить вероятность проблемы, если его подпрограмма завершения I/O реализована эффективно. Если подпрограмма завершения всё равно не успевает выполнить всю необходимую обработку, она может создать work item для операции I/O, поставить его в work queue и вернуть STATUS_MORE_PROCESSING_REQUIRED; затем worker thread драйвера должен получить элемент, выполнить работу и вызвать IoCallerDriver для IRP, чтобы продолжить его обработку I/O.


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