Что на самом деле произошло
Процессор работает не в одном режиме, а на нескольких уровнях приоритета. Обычные программы крутятся на самом низком, обработчики прерываний от устройств — на высоких. Чем выше уровень, тем меньше разрешено: на высоких уровнях нельзя обращаться к данным, которые система имеет право временно выгрузить из оперативной памяти на диск. Смысл ограничения простой — на высоком уровне некогда ждать, пока данные подтянутся обратно.
IRQL_
Из этого следуют два вывода, которые экономят много времени. Первый: код на высоких уровнях — это почти всегда драйвер, а не программа. Antivirus, сетевая карта, видеокарта, звук, виртуальные диски — вот типичный список. Второй: если планка памяти отдаёт не то, что в неё записали, картина получается ровно такой же, потому что данные по нужному адресу оказываются мусором. Поэтому проверять надо обе версии, а не спорить о них.
