Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Диспетчер памяти Windows обеспечивает доступ только для чтения страниц, которые не помечены как доступные для записи.
Память только для чтения всегда была защищена в пользовательском режиме. Однако в Windows NT 4.0 и более ранних версиях память только для чтения не была защищена в режиме ядра.
Если драйвер или приложение в режиме ядра Windows пытается записать в сегмент памяти только для чтения, система выполняет проверку ошибок. Дополнительные сведения см. в разделе "Проверка ошибок" 0xBE: ATTEMPTED_WRITE_TO_READONLY_MEMORY.
Перехват системных вызовов
Некоторые драйверы перехватывают системные вызовы путем перезаписи собственного кода драйвера и вставки инструкций перехода или других изменений. Поскольку собственный код драйвера доступен только для чтения, этот метод приведет к проверке на ошибки.
Глобальные строки
Если глобальная строка должна быть изменена, она не должна быть объявлена в качестве указателя на константное значение:
CHAR *myString = "This string cannot be modified.";
В этом случае компоновщик ссылок, возможно, поместит строку в сегмент памяти только для чтения. Затем попытка изменить строку приведет к проверке ошибок.
Вместо этого строка должна быть явно объявлена как массив символов L-value:
CHAR myString[] = "This string can be modified.";
Это объявление гарантирует, что строка будет размещена в записываемую память.