Freigeben über


ExAllocateFromPagedLookasideList-Funktion (wdm.h)

Die ExAllocateFromPagedLookasideList Routine gibt einen Zeiger auf einen seitenseitigen Eintrag aus der angegebenen Lookaside-Liste zurück oder gibt einen Zeiger auf einen neu zugeordneten seitengebundenen Eintrag zurück.

Syntax

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

Parameter

[in, out] Lookaside

Ein Zeiger auf die PAGED_LOOKASIDE_LIST Struktur für die Lookaside-Liste, die der Aufrufer bereits mit ExInitializePagedLookasideListinitialisiert hat.

Rückgabewert

ExAllocateFromPagedLookasideList gibt einen Zeiger auf einen Eintrag zurück, wenn ein Eintrag zugewiesen werden kann. Andernfalls wird NULL-zurückgegeben.

Bemerkungen

Vorsicht

Ab Windows 11, Version 22H2, wurde diese Funktion von inline in exportierbar geändert. Wenn Sie daher ihren Treiber für die neueste Version von Windows erstellen, kann er in älteren Betriebssystemversionen nicht geladen werden. Um die Zielbetriebssystemversion in Visual Studio zu ändern, wählen Sie "Konfigurationseigenschaften">"Treibereinstellungen">"Allgemein" aus.

Wenn die angegebene Lookaside-Liste nicht leer ist, ExAllocateFromPagedLookasideList den ersten Eintrag aus der Liste entfernt und einen Zeiger auf diesen Eintrag zurückgibt. Andernfalls ruft ExAllocateFromPagedLookasideList entweder die Zuweisen Routine auf, die bei der Listeninitialisierung angegeben ist, oder ExAllocatePoolWithTag, um einen Einstiegspunkt zurückzugeben.

Der Aufrufer kann dann den zurückgegebenen Eintrag mit allen vom Anrufer ermittelten Daten einrichten. Der Aufrufer sollte jeden Eintrag mit ExFreeToPagedLookasideList freigeben, wenn er nicht mehr verwendet wird.

Da die Einträge in einer ausgelagerten Lookaside-Liste aus dem ausgelagerten Speicher zugewiesen werden, darf nicht auf eine IRQL->= DISPATCH_LEVEL zugegriffen werden. Sie können ExAllocateFromNPagedLookasideList verwenden, um eine Lookaside-Liste mit nicht seitenfähigen Einträgen zu erstellen.

Unter Windows 2000 müssen Treiber den -D_WIN2K_COMPAT_SLIST_USAGE Wechseln verwenden, um code erfolgreich zu verknüpfen, der ExAllocateFromPagedLookasideListverwendet.

Weitere Informationen finden Sie unter Verwenden von Lookaside Lists.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Ab Windows 2000 verfügbar.
Zielplattform- Universal
Header- wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= APC_LEVEL

Siehe auch

ExAllocateFromNPagedLookasideList

ExFreeToPagedLookasideList

ExInitializePagedLookasideList

PAGED_LOOKASIDE_LIST