Funzione ExAllocateFromLookasideListEx (wdm.h)

La routine ExAllocateFromLookasideListEx rimuove la prima voce dall'elenco lookaside specificato oppure, se l'elenco è vuoto, alloca dinamicamente l'archiviazione per una nuova voce.

Sintassi

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

Parametri

[in, out] Lookaside

Puntatore a una struttura LOOKASIDE_LIST_EX che descrive un elenco lookaside. Questa struttura è stata inizializzata in precedenza dalla routine ExInitializeLookasideListEx .

Valore restituito

ExAllocateFromLookasideListEx restituisce un puntatore a una voce lookaside-list, se una voce è disponibile nell'elenco o può essere allocata dinamicamente. In caso contrario, questa routine restituisce NULL.

Commenti

Attenzione

A partire da Windows 11 versione 22H2, questa funzione è cambiata da inline all'esportazione. Di conseguenza, se si compila il driver destinato alla versione più recente di Windows, non verrà caricato nelle versioni precedenti del sistema operativo. Per modificare la versione del sistema operativo di destinazione in Visual Studio, selezionare Proprietà di configurazione-Impostazioni> driver-Generale>.

Questa routine rimuove la prima voce, se è disponibile una voce, dall'elenco lookaside specificato e restituisce un puntatore a questa voce. Se l'elenco è vuoto, la routine alloca l'archiviazione per una nuova voce e restituisce un puntatore a questa voce. Se questa allocazione ha esito negativo, la routine restituisce NULL.

Se l'elenco lookaside è vuoto, ExAllocateFromLookasideListEx chiama la routine LookasideListAllocateEx per allocare l'archiviazione per una nuova voce, se il driver ha fornito tale routine. In caso contrario, viene usata una routine di allocazione predefinita per allocare la voce.

Al termine dell'uso della voce, il chiamante dovrebbe liberare l'ingresso chiamando la routine ExFreeToLookasideListEx .

Nell'implementazione corrente, un elenco lookaside opera come stack LIFO (last-in, first-out). Pertanto, l'ultima voce da liberare (e spostata nello stack) è la voce successiva da allocare (popped) dall'elenco.

Per altre informazioni sugli elenchi lookaside, vedere Uso di Lookaside Elenchi.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Vista e versioni successive di Windows.
Piattaforma di destinazione Desktop
Intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Vedi anche

ExFreeToLookasideListEx

ExInitializeLookasideListEx

LOOKASIDE_LIST_EX

LookasideListAllocateEx