Funzione ExAllocateFromPagedLookasideList (wdm.h)
La routine ExAllocateFromPagedLookasideList restituisce un puntatore a una voce di paging dall'elenco lookaside specificato oppure restituisce un puntatore a una voce di paging appena allocata.
Sintassi
PVOID ExAllocateFromPagedLookasideList(
[in, out] PPAGED_LOOKASIDE_LIST Lookaside
);
Parametri
[in, out] Lookaside
Puntatore alla struttura PAGED_LOOKASIDE_LIST per l'elenco lookaside, che il chiamante già inizializzato con ExInitializePagedLookasideList.
Valore restituito
ExAllocateFromPagedLookasideList restituisce un puntatore a una voce se possibile allocare. In caso contrario, restituisce NULL.
Osservazioni
Cautela
A partire da Windows 11 versione 22H2, questa funzione è cambiata da inline a esportata. 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.
Se l'elenco lookaside specificato non è vuoto, ExAllocateFromPagedLookasideList rimuove la prima voce dall'elenco e restituisce un puntatore a questa voce. In caso contrario, ExAllocateFromPagedLookasideList chiama la routine Allocate specificata durante l'inizializzazione dell'elenco o ExAllocatePoolWithTag per restituire un puntatore di ingresso.
Il chiamante può quindi configurare la voce restituita con qualsiasi dato determinato dal chiamante. Il chiamante deve rilasciare ogni voce con ExFreeToPagedLookasideList quando non è più in uso.
Poiché le voci in un elenco lookaside di paging vengono allocate dalla memoria visualizzabile, non devono essere accessibili a un >IRQL = DISPATCH_LEVEL. È possibile usare ExAllocateFromNPagedLookasideList per creare un elenco lookaside con voci non visualizzabili.
In Windows 2000 i driver devono usare l'opzione -D_WIN2K_COMPAT_SLIST_USAGE per collegare correttamente il codice che usa ExAllocateFromPagedLookasideList.
Per altre informazioni, vedere Using Lookaside Lists.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile a partire da Windows 2000. |
piattaforma di destinazione | Universale |
intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
libreria | NtosKrnl.lib |
dll | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
Vedere anche
exAllocateFromNPagedLookasideList