Fungsi KeEnterCriticalRegion (ntddk.h)
Rutinitas KeEnterCriticalRegion untuk sementara menonaktifkan eksekusi APC kernel normal, tetapi tidak mencegah APC kernel khusus berjalan.
Sintaks
void KeEnterCriticalRegion();
Mengembalikan nilai
Tidak ada
Keterangan
Driver memanggil rutinitas ini untuk memasuki wilayah kritis di mana eksekusi APC kernel normal ditangguhkan sampai driver ini keluar dari wilayah kritis dengan memanggil rutinitas KeLeaveCriticalRegion . Setiap penelepon KeEnterCriticalRegion harus memanggil KeLeaveCriticalRegion secepat mungkin setelah memasuki wilayah penting.
Driver tingkat tertinggi dapat memanggil KeEnterCriticalRegion saat berjalan dalam konteks utas yang meminta operasi I/O saat ini.
Utas yang berada di dalam wilayah penting memiliki APC pengguna dan APC kernel normal yang dinonaktifkan, tetapi bukan APC kernel khusus. Untuk informasi selengkapnya tentang jenis APC ini, lihat Jenis APC.
Wilayah penting dapat dimasukkan secara rekursif dan setiap panggilan ke KeEnterCriticalRegion harus memiliki panggilan yang cocok ke KeLeaveCriticalRegion.
Driver dapat menggunakan wilayah penting untuk memperoleh dan merilis akses eksklusif ke sumber daya bersama. Dalam hal ini, rutinitas ExEnterCriticalRegionAndAcquireResourceExclusive dan ExReleaseResourceAndLeaveCriticalRegion dapat digunakan alih-alih rutinitas KeEnterCriticalRegion dan KeLeaveCriticalRegion . Untuk informasi selengkapnya, lihat contoh kode di ExEnterCriticalRegriticalRegionAndAcquireResourceExclusive.
Untuk informasi selengkapnya tentang APC, lihat Panggilan Prosedur Asinkron.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows 2000. |
Target Platform | Universal |
Header | ntddk.h (termasuk Wdm.h, Ntddk.h, Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
Aturan kepatuhan DDI | CriticalRegions(wdm), HwStorPortProhibitedDDIs(storport), IrqlKeApcLte2(wdm), WithinCriticalRegion(storport), WithinCriticalRegion(storport), WithinCriticalRegion(wdm) |
Lihat juga
ExEnterCriticalRegionAndAcquireResourceExclusive