ExAllocateFromNPagedLookasideList-Funktion (wdm.h)

Die ExAllocateFromNPagedLookasideList-Routine gibt einen Zeiger auf einen nicht auslagerten Eintrag aus der angegebenen Lookaside-Liste zurück, oder sie gibt einen Zeiger auf einen neu zugeordneten eintrag zurück.

Syntax

PVOID ExAllocateFromNPagedLookasideList(
  [in, out] PNPAGED_LOOKASIDE_LIST Lookaside
);

Parameter

[in, out] Lookaside

Ein Zeiger auf die NPAGED_LOOKASIDE_LIST-Struktur für die Lookaside-Liste, die der Aufrufer bereits mit ExInitializeNPagedLookasideList initialisiert hat.

Rückgabewert

ExAllocateFromNPagedLookasideList gibt einen Zeiger auf einen Eintrag zurück, wenn einer zugeordnet werden kann. Andernfalls wird NULL zurückgegeben.

Bemerkungen

Achtung

Ab Windows 11 Version 22H2 wurde diese Funktion von inline in exportiert geändert. Wenn Sie Ihren Treiber für die neueste Version von Windows 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.

Wenn die angegebene Lookaside-Liste nicht leer ist, entfernt ExAllocateFromNPagedLookasideList den ersten Eintrag aus der Liste und gibt einen Zeiger auf diesen Eintrag zurück. Andernfalls ruft ExAllocateFromNPagedLookasideList entweder die bei der Listeninitialisierung angegebene Allocate-Routine oder ExAllocatePoolWithTag auf, um einen Einstiegszeiger zurückzugeben.

Der Aufrufer kann dann den zurückgegebenen Eintrag mit allen vom Aufrufer bestimmten Daten einrichten. Beispielsweise kann ein Treiber jeden dieser Einträge mit fester Größe verwenden, um Befehlsblöcke wie SCSI-SRBs für Peripheriegeräte auf einem bestimmten Typ von E/A-Bus einzurichten. Der Aufrufer sollte jeden Eintrag mit ExFreeToNPagedLookasideList freigeben, wenn er nicht mehr verwendet wird.

Weitere Informationen finden Sie unter Verwenden von Lookaside Listen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Desktop
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Weitere Informationen

ExAllocateFromPagedLookasideList

ExFreeToNPagedLookasideList

ExInitializeNPagedLookasideList

NPAGED_LOOKASIDE_LIST