Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Manajer memori Windows memberlakukan akses baca-saja halaman yang tidak ditandai sebagai bisa-tulis.
Memori baca-saja selalu dilindungi dalam mode pengguna. Namun, di Windows NT 4.0 dan versi yang lebih lama, memori baca-saja tidak dilindungi dalam mode kernel.
Jika driver atau aplikasi mode kernel Windows mencoba menulis ke segmen memori baca-saja, sistem akan mengeluarkan pemeriksaan bug. Untuk informasi selengkapnya, lihat Bug Check 0xBE: ATTEMPTED_WRITE_TO_READONLY_MEMORY.
Mencegat Panggilan Sistem
Beberapa driver mencegat panggilan sistem dengan mengganti kode driver mereka sendiri dan memasukkan instruksi lompatan atau perubahan lainnya. Karena kode driver sendiri bersifat baca-saja, teknik ini akan menyebabkan bug check terjadi.
String Global
Jika string global akan dimodifikasi, string tersebut tidak boleh dinyatakan sebagai penunjuk ke nilai konstanta:
CHAR *myString = "This string cannot be modified.";
Dalam hal ini, linker mungkin menempatkan string di segmen memori baca-saja. Kemudian upaya untuk memodifikasi string akan menghasilkan pemeriksaan kesalahan.
Sebagai gantinya, string harus dinyatakan secara eksplisit sebagai array karakter nilai L:
CHAR myString[] = "This string can be modified.";
Deklarasi ini memastikan bahwa string dimasukkan ke dalam memori yang dapat ditulis.