Данный стоп код означает, что была выполнена попытка удалить из очереди элемент, значение одного из указатель у которого равен NULL. Стоп код имеет следующие параметры (таблица ниже).
Параметр | Описание |
1 | Адрес элемента очереди, у которого одно из полей flink или blink равно NULL |
2 | Адрес очереди. Обычно это очередь ExWorkerQueue |
3 | Базовый адрес массива ExWorkerQueu. Этот адрес позволит вам определить, действительно ли это очередь ExWorkerQueue |
4 | Предположим, что это очередь ExWorkerQueu. Это значение – это адрес системного рабочего потока, который был бы вызван, если бы элемент очереди был корректен (этот адрес можно использовать для того, чтобы определить драйвер, который неправильно использовал очередь) |
Причины
Эта ошибка возникает когда KeRemoveQueue пытается удалить из очереди элемент, у которого значение одного из полей (flink, blink) равно NULL.
Обычно эта ошибка возникает через неправильное использование системного рабочего потока. Элемент может быть вставлен в очередь только один раз, когда элемент удаляется из очереди его поля flink устанавливается равным NULL. Если код пытается удалить этот же элемент еще раз, возникает данный BSOD.
В большинстве случаев, данные ошибка связана с очередью системного рабочего потока. Если это так то с помощью 4-ого аргумента можно установить проблемный драйвер, если это не так, данный параметр не будет полезным.