Fungsi ExAllocateFromPagedLookasideList (wdm.h)

Rutinitas ExAllocateFromPagedLookasideList mengembalikan penunjuk ke entri halaman dari daftar lookaside yang diberikan, atau mengembalikan penunjuk ke entri halaman yang baru dialokasikan.

Sintaks

PVOID ExAllocateFromPagedLookasideList(
  [in, out] PPAGED_LOOKASIDE_LIST Lookaside
);

Parameter

[in, out] Lookaside

Penunjuk ke struktur PAGED_LOOKASIDE_LIST untuk daftar lookaside, yang sudah diinisialisasi pemanggil dengan ExInitializePagedLookasideList.

Nilai kembali

ExAllocateFromPagedLookasideList 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, ExAllocateFromPagedLookasideList menghapus entri pertama dari daftar dan mengembalikan penunjuk ke entri ini. Jika tidak, ExAllocateFromPagedLookasideList 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. Pemanggil harus merilis setiap entri dengan ExFreeToPagedLookasideList ketika tidak lagi digunakan.

Karena entri dalam daftar tampilan halaman dialokasikan dari memori yang dapat di-pageable, entri tersebut tidak boleh diakses pada IRQL >= DISPATCH_LEVEL. Anda dapat menggunakan ExAllocateFromNPagedLookasideList untuk membuat daftar lookaside dengan entri yang tidak dapat di-pageable.

Pada Windows 2000, driver harus menggunakan tombol -D_WIN2K_COMPAT_SLIST_USAGE untuk berhasil menautkan kode yang menggunakan ExAllocateFromPagedLookasideList.

Untuk informasi selengkapnya, lihat Menggunakan Lists Lookaside.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows 2000.
Target Platform Universal
Header wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Lihat juga

ExAllocateFromNPagedLookasideList

ExFreeToPagedLookasideList

ExInitializePagedLookasideList

PAGED_LOOKASIDE_LIST