Fungsi MmUnlockPagableImageSection (wdm.h)
MmUnlockPagableImageSection rutin merilis bagian kode driver atau data driver, yang sebelumnya dikunci ke ruang sistem dengan MmLockPagableCodeSection, MmLockPagableDataSection atau MmLockPagableSectionByHandle, sehingga bagian tersebut dapat di-page out lagi.
void MmUnlockPagableImageSection(
[in] PVOID ImageSectionHandle
);
[in] ImageSectionHandle
Menentukan handel yang dikembalikan oleh panggilan ke mmLockPagableCodeSection atau MmLockPagableDataSection.
Tidak
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 penguncian menaikkan jumlah; setiap permintaan pembuka kunci mengurangi hitungan. Driver harus membuka kunci bagian sebanyak mengunci bagian untuk membuat bagian tersedia untuk di-page out.
Handel selalu valid, apa pun jumlahnya. Jika hitungan pada handel adalah nol dan panggilan dilakukan untuk MmLockPagableSectionByHandle, jumlah diatur ke satu, dan jika bagian telah di-page out, itu akan di-paged in.
Dalam kebanyakan kasus, MmUnlockPagableImageSection dipanggil sebelum Membongkar rutinitas driver. Artinya, driver dengan bagian pageable kemungkinan memiliki DispatchClose dan/atau DispatchShutdown panggilan rutin MmUnlockPagableImageSection sebelum Unload rutin 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.
Syarat | Nilai |
---|---|
klien minimum yang didukung | Tersedia dimulai dengan Windows 2000. |
Platform Target | Universal |
Header | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=APC_LEVEL |
aturan kepatuhan DDI | HwStorPortProhibitedDIs (storport), IrqlMmApcLte(wdm) |