Fungsi ExAllocatePoolPriorityUninitialized (wdm.h)
Rutinitas ini adalah opsi pembungkus dan penggantian untuk ExAllocatePoolWithTagPriority.
ExAllocatePoolPriorityUninitialized mengalokasikan memori kumpulan dari jenis yang ditentukan.
Sintaks
PVOID ExAllocatePoolPriorityUninitialized(
__drv_strictTypeMatch(__drv_typeExpr)POOL_TYPE PoolType,
SIZE_T NumberOfBytes,
ULONG Tag,
EX_POOL_PRIORITY Priority
);
Parameter
PoolType
Jenis memori kumpulan yang akan dialokasikan. Untuk deskripsi jenis memori kumpulan yang tersedia, lihat POOL_TYPE.
Anda dapat memodifikasi nilai enumerasi dengan melakukan bitwise-OR dengan bendera POOL_RAISE_IF_ALLOCATION_FAILURE yang ditentukan dalam wdm.h
. Bendera ini menyebabkan pengecualian dinaikkan jika permintaan tidak dapat dipenuhi. Penggunaan bendera ini tidak disarankan karena mahal.
Demikian pula, Anda dapat memodifikasi nilai PoolType dengan bitwise-ORing nilai ini dengan bendera POOL_COLD_ALLOCATION (juga didefinisikan dalam wdm.h
) sebagai petunjuk kernel untuk mengalokasikan memori dari halaman yang kemungkinan akan di-page out dengan cepat. Untuk mengurangi jumlah memori kumpulan penduduk sebanyak mungkin, Anda tidak boleh sering mereferensikan alokasi ini. Bendera POOL_COLD_ALLOCATION hanyalah nasihat.
NumberOfBytes
Jumlah byte yang akan dialokasikan.
Tag
Tag kumpulan yang digunakan untuk memori yang dialokasikan. Untuk informasi selengkapnya, lihat parameter Tag ExAllocatePoolWithTag.
Priority
Nilai enumerasi EX_POOL_PRIORITY yang menentukan prioritas permintaan ini.
Nilai kembali
ExAllocatePoolPriorityUninitialized mengembalikan NULL jika tidak ada cukup memori di kumpulan gratis untuk memenuhi permintaan kecuali POOL_RAISE_IF_ALLOCATION_FAILURE ditentukan. Jika tidak, rutinitas mengembalikan penunjuk ke memori yang dialokasikan.
Keterangan
Memori yang dialokasikan ExAllocatePoolPriorityUninitialized tidak diinisialisasi. Driver mode kernel harus terlebih dahulu nol memori ini jika akan membuatnya terlihat oleh perangkat lunak mode pengguna (untuk menghindari bocornya konten yang berpotensi istimewa)
Lihat bagian Keterangandari ExAllocatePoolWithTagPriority untuk panduan tambahan.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Memerlukan WDK untuk Windows 10, versi 2004. Menargetkan Windows 7 dan versi yang lebih baru dari sistem operasi Windows. |
Target Platform | Universal |
Header | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (lihat bagian Keterangan) |
Aturan kepatuhan DDI | HwStorPortProhibitedDDIs, IrqlExAllocatePool, IrqlExFree2, SpNoWait, StorPortStartIo |
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