Fungsi ExAllocateFromNPagedLookasideList (wdm.h)
Rutinitas ExAllocateFromNPagedLookasideList mengembalikan penunjuk ke entri yang tidak ditumpuk dari daftar lookaside yang diberikan, atau mengembalikan penunjuk ke entri yang baru dialokasikan yang tidak dialokasikan.
Sintaks
PVOID ExAllocateFromNPagedLookasideList(
[in, out] PNPAGED_LOOKASIDE_LIST Lookaside
);
Parameter
[in, out] Lookaside
Penunjuk ke struktur NPAGED_LOOKASIDE_LIST untuk daftar lookaside, yang sudah diinisialisasi pemanggil dengan ExInitializeNPagedLookasideList.
Nilai kembali
ExAllocateFromNPagedLookasideList mengembalikan pointer ke entri jika dapat dialokasikan. Jika tidak, ia mengembalikan NULL.
Keterangan
Perhatian
Mulai dari Windows 11, versi 22H2, fungsi ini berubah dari sebaris menjadi diekspor. Akibatnya, jika Anda membangun driver yang menargetkan versi terbaru Windows, itu akan gagal dimuat dalam versi OS yang lebih lama. Untuk mengubah versi OS target di Visual Studio, pilih Konfigurasi Properti-Pengaturan> Driver-Umum>.
Jika daftar lookaside yang diberikan tidak kosong, ExAllocateFromNPagedLookasideList menghapus entri pertama dari daftar dan mengembalikan penunjuk ke entri ini. Jika tidak, ExAllocateFromNPagedLookasideList memanggil rutinitas Alokasikan yang ditentukan pada inisialisasi daftar atau ExAllocatePoolWithTag untuk mengembalikan penunjuk entri.
Pemanggil kemudian dapat menyiapkan entri yang dikembalikan dengan data yang ditentukan penelepon apa pun. Misalnya, driver mungkin menggunakan setiap entri ukuran tetap tersebut untuk menyiapkan blok perintah, seperti SRB SCSI, ke perangkat periferal pada jenis bus I/O tertentu. Pemanggil harus merilis setiap entri dengan ExFreeToNPagedLookasideList ketika tidak lagi digunakan.
Untuk informasi selengkapnya, lihat Menggunakan Lists Lookaside.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows 2000. |
Target Platform | Desktop |
Header | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
Lihat juga
ExAllocateFromPagedLookasideList