Здравствуйте, sergei_132, Вы писали:
_>IRQL_NOT_LESS_OR_EQUAL (a) _>An attempt was made to access a pageable (or completely invalid) address at an _>interrupt request level (IRQL) that is too high. This is usually _>caused by drivers using improper addresses.
_>WRITE_ADDRESS: e1038000 Paged pool //откуда мог взяться paged pool, если я создаю NonPaged?
_>CURRENT_IRQL: 0
_>подскажите плиз, в чем баг?
У системных ошибок есть один недостаток: они могут возникать не напрямую из-за твоего неверного кода, а косвенно! Это значит, например, что твой код заставил систему обратиться к Paged Pool... Я хочу лишь сказать, что ошибку не всегда нужно искать там, где пишет Windows.
Вообще, очень сложно отвечать на такие вопросы, потому что я не знаю, например, как у тебя инициализированы переменные, которые ты используешь в приведённом коде и т.п.
Сразу бросается в глаза глупейшая ошибка:
ты сначала заполняешь выделенную память нулями, и только после этого делаешь проверку на валидность этой память, ну не глупость ли? Посмотри, может в этом ошибка?