Fungsi MmUnlockPagableImageSection (wdm.h)
Rutinitas MmUnlockPagableImageSection merilis bagian kode driver atau data driver, yang sebelumnya dikunci ke dalam ruang sistem dengan MmLockPagableCodeSection, MmLockPagableDataSection atau MmLockPagableSectionByHandle, sehingga bagian dapat di-page out lagi.
Sintaks
void MmUnlockPagableImageSection(
[in] PVOID ImageSectionHandle
);
Parameter
[in] ImageSectionHandle
Menentukan handel yang dikembalikan oleh panggilan ke MmLockPagableCodeSection atau MmLockPagableDataSection.
Nilai kembali
Tidak ada
Keterangan
Handel untuk bagian yang dapat di-pageable driver tidak boleh dirilis jika driver memiliki IRP yang luar biasa dalam antrean perangkat atau antrean internalnya. Panggilan ke MmUnlockPagableImageSection memulihkan pageability seluruh bagian tersebut ketika tidak ada lagi referensi ke handel untuk bagian tersebut.
Manajer memori mempertahankan jumlah referensi pada handel ke bagian . Bagian yang dapat di-pageable hanya tersedia untuk di-page out saat jumlah referensi adalah nol. Setiap permintaan kunci menaikkan jumlah; setiap permintaan buka kunci mengurangi hitungan. Driver harus membuka kunci bagian sebanyak mengunci bagian untuk membuat bagian tersedia untuk di-page out.
Handel selalu valid, apa pun hitungannya. Jika hitungan pada handel adalah nol dan panggilan dilakukan ke MmLockPagableSectionByHandle, hitungan diatur ke satu, dan jika bagian telah di-page out, itu akan di-paged in.
Dalam kebanyakan kasus, MmUnlockPagableImageSection dipanggil sebelum rutinitas Unload driver. Artinya, driver dengan bagian yang dapat dipaginasi kemungkinan memiliki DispatchClose dan/atau Panggilan rutin DispatchShutdownMmUnlockPagableImageSection sebelum rutinitas Unload-nya dipanggil. Namun, perawatan harus dilakukan dalam driver yang dapat dibongkar untuk merilis bagian yang dapat di-pageable sebelum driver itu sendiri dibongkar dari sistem.
Untuk informasi selengkapnya tentang kode halaman dan data, lihat Membuat Driver Dapat Di-Pageable.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows 2000. |
Target Platform | Universal |
Header | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=APC_LEVEL |
Aturan kepatuhan DDI | HwStorPortProhibitedDDIs(storport), IrqlMmApcLte(wdm) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk