Share via


ExAllocateFromLookasideListEx-Funktion (wdm.h)

Die ExAllocateFromLookasideListEx-Routine entfernt den ersten Eintrag aus der angegebenen Lookaside-Liste oder, wenn die Liste leer ist, dynamisch den Speicher für einen neuen Eintrag zu.

Syntax

PVOID ExAllocateFromLookasideListEx(
  [in, out] PLOOKASIDE_LIST_EX Lookaside
);

Parameter

[in, out] Lookaside

Ein Zeiger auf eine LOOKASIDE_LIST_EX Struktur, die eine Suchliste beschreibt. Diese Struktur wurde zuvor von der ExInitializeLookasideListEx-Routine initialisiert.

Rückgabewert

ExAllocateFromLookasideListEx gibt einen Zeiger auf einen Suchlisteneintrag zurück, wenn ein Eintrag in der Liste verfügbar ist oder dynamisch zugeordnet werden kann. Andernfalls gibt diese Routine NULL zurück.

Bemerkungen

Achtung

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

Diese Routine entfernt den ersten Eintrag, wenn ein Eintrag verfügbar ist, aus der angegebenen Suchliste und gibt einen Zeiger auf diesen Eintrag zurück. Wenn die Liste leer ist, weist die Routine Speicher für einen neuen Eintrag zu und gibt einen Zeiger auf diesen Eintrag zurück. Wenn diese Zuordnung fehlschlägt, gibt die Routine NULL zurück.

Wenn die Suchliste leer ist, ruft ExAllocateFromLookasideListEx die LookasideListAllocateEx-Routine auf, um Speicher für einen neuen Eintrag zuzuweisen, wenn der Treiber eine solche Routine bereitgestellt hat. Andernfalls wird eine Standardzuordnungsroutine verwendet, um den Eintrag zuzuweisen.

Nachdem der Aufrufer die Verwendung des Eintrags abgeschlossen hat, sollte er den Eintrag freigeben, indem er die ExFreeToLookasideListEx-Routine aufruft.

In der aktuellen Implementierung wird eine Lookaside-Liste als Last-In-First-Out-Stapel (LIFO) ausgeführt. Daher ist der letzte Eintrag, der frei (und auf den Stapel geschoben) werden soll, der nächste Eintrag, der aus der Liste zugeordnet (geknallt) werden soll.

Weitere Informationen zu Lookaside-Listen finden Sie unter Verwenden von Lookaside Listen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows Vista und späteren Windows-Versionen.
Zielplattform Desktop
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Weitere Informationen

ExFreeToLookasideListEx

ExInitializeLookasideListEx

LOOKASIDE_LIST_EX

LookasideListAllocateEx