Fungsi ExAllocateFromLookasideListEx (wdm.h)
Rutinitas ExAllocateFromLookasideListEx menghapus entri pertama dari daftar lookaside yang ditentukan, atau, jika daftar kosong, secara dinamis mengalokasikan penyimpanan untuk entri baru.
Sintaks
PVOID ExAllocateFromLookasideListEx(
[in, out] PLOOKASIDE_LIST_EX Lookaside
);
Parameter
[in, out] Lookaside
Penunjuk ke struktur LOOKASIDE_LIST_EX yang menjelaskan daftar tampilan. Struktur ini sebelumnya diinisialisasi oleh rutinitas ExInitializeLookasideListEx .
Nilai kembali
ExAllocateFromLookasideListEx mengembalikan penunjuk ke entri lookaside-list, jika entri tersedia dalam daftar atau dapat dialokasikan secara dinamis. Jika tidak, rutinitas ini 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>.
Rutinitas ini menghapus entri pertama, jika entri tersedia, dari daftar lookaside yang ditentukan dan mengembalikan penunjuk ke entri ini. Jika daftar kosong, rutin mengalokasikan penyimpanan untuk entri baru dan mengembalikan penunjuk ke entri ini. Jika alokasi ini gagal, rutinitas mengembalikan NULL.
Jika daftar lookaside kosong, ExAllocateFromLookasideListEx memanggil rutinitas LookasideListAllocateEx untuk mengalokasikan penyimpanan untuk entri baru, jika driver telah memberikan rutinitas seperti itu. Jika tidak, rutinitas alokasi default digunakan untuk mengalokasikan entri.
Setelah pemanggil selesai menggunakan entri, itu harus membebaskan entri dengan memanggil rutinitas ExFreeToLookasideListEx .
Dalam implementasi saat ini, daftar lookaside beroperasi sebagai tumpukan last-in, first-out (LIFO). Dengan demikian, entri terakhir yang akan dikosongkan (dan didorong ke tumpukan) adalah entri berikutnya yang akan dialokasikan (muncul) dari daftar.
Untuk informasi selengkapnya tentang daftar lookaside, lihat Menggunakan lookaside Lists.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Windows Vista dan versi Windows yang lebih baru. |
Target Platform | Desktop |
Header | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |