ExAllocateFromNPagedLookasideList-Funktion (wdm.h)
Die ExAllocateFromNPagedLookasideList Routine gibt einen Zeiger auf einen nicht seitenseitigen Eintrag aus der angegebenen Lookaside-Liste zurück oder gibt einen Zeiger auf einen neu zugeordneten nicht seitenseitigen 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 ExInitializeNPagedLookasideListinitialisiert hat.
Rückgabewert
ExAllocateFromNPagedLookasideList 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, ExAllocateFromNPagedLookasideList den ersten Eintrag aus der Liste entfernt und einen Zeiger auf diesen Eintrag zurückgibt. Andernfalls ruft ExAllocateFromNPagedLookasideList 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. Beispielsweise kann ein Treiber jeden solchen Eintrag 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 Lists.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Ab Windows 2000 verfügbar. |
Zielplattform- | Desktop |
Header- | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | <= DISPATCH_LEVEL |
Siehe auch
ExAllocateFromPagedLookasideList