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.
Anda dapat membuat semua atau sebagian dari driver Anda dapat di-pageable. Kode driver pengelolaan memori dapat mengurangi ukuran citra muatan driver, sehingga membebaskan ruang sistem untuk penggunaan lain. Ini paling praktis untuk driver perangkat yang digunakan secara sporadis, seperti modem dan CD-ROM, atau untuk bagian driver yang jarang disebut.
Kode driver yang melakukan salah satu hal berikut harus tinggal di memori. Artinya, kode ini harus berada di bagian yang tidak dipagasi, atau di bagian halaman yang dikunci dalam memori saat kode berjalan.
Berjalan pada atau di atas IRQL = DISPATCH_LEVEL.
Memperoleh kunci putaran.
Memanggil salah satu rutinitas dukungan objek kernel, seperti KeReleaseMutex atau KeReleaseSemaphore, di mana parameter Tunggu diatur ke TRUE. Jika kernel dipanggil dengan Tunggu diatur ke TRUE, panggilan akan kembali dengan IRQL pada DISPATCH_LEVEL.
Kode driver harus berjalan di IRQL < DISPATCH_LEVEL ketika kode melakukan apa pun yang dapat menyebabkan kesalahan halaman. Kode dapat menyebabkan kesalahan halaman jika melakukan salah satu hal berikut:
Mengakses kumpulan halaman yang tidak dikunci dalam memori.
Memanggil rutinitas yang dapat di-pageable.
Mengakses buffer pengguna yang tidak terkunci dalam konteks thread pengguna.
Biasanya, Anda harus mempaginasi suatu bagian jika jumlah total seluruh kode (atau data) yang dapat dipaginasi setidaknya 4 kilobyte (KB). Jika memungkinkan, Anda harus mengisolasi kode (atau data) yang sepenuhnya dapat disimpan dalam halaman terpisah dari kode (atau data) yang kadang dapat disimpan dalam halaman tetapi kadang harus dikunci. Misalnya, menggabungkan kode murni yang dapat di-pageable dan kode yang dikunci sesuai permintaan menyebabkan lebih banyak ruang sistem dikunci untuk bagian gabungan daripada yang diperlukan. Namun, jika driver memiliki kurang dari 4 KB kode yang dapat dipanggil ke memori (atau data), Anda mungkin dapat menggabungkan kode tersebut (atau data) dengan kode yang dikunci berdasarkan permintaan (atau data) ke dalam satu bagian, menghemat ruang sistem.