Re[5]: Как синхронизировать PFLT_POST_OPERATION_CALLBACK и п
От: okman Беларусь https://searchinform.ru/
Дата: 14.09.18 09:33
Оценка: 2 (1)
Здравствуйте, LimyKurn, Вы писали:

LK>Так UNICODE_STRING я не просто так предлагаю, а для решения то самой проблемы.


UNICODE_STRING, vector или просто wchar_t — это не важно. Пока у тебя не будет синхронизации доступа к
этой переменной, работать твой драйвер корректно не будет.

LK>Про verifier — спасибо, гляну. А что именно он дает, в 2 словах?


Verifier позволяет быстрее обнаруживать различные скрытые ошибки, которые в нормальных условиях обычно
не проявляются сразу или проявляются спустя долгое время, когда программа уже в релизе.

Ну например, ты обращаешься к paged-памяти на DISPATCH_LEVEL. В нормальных условиях это иногда
может работать месяцами и годами, не выпадая в BSOD, а затем вдруг начинает падать (как правило, в
самый неожиданный и неудачный момент).

Когда ты включаешь соответствующую проверку в Verifier, он принудительно сбрасывает paged-память на
диск при повышении IRQL, так что данная ошибка всплывает практически сразу.

Это лишь один из примеров.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.