ExAllocateFromLookasideListEx, fonction (wdm.h)
La routine ExAllocateFromLookasideListEx supprime la première entrée de la liste lookaside spécifiée ou, si la liste est vide, alloue dynamiquement le stockage pour une nouvelle entrée.
Syntaxe
PVOID ExAllocateFromLookasideListEx(
[in, out] PLOOKASIDE_LIST_EX Lookaside
);
Paramètres
[in, out] Lookaside
Pointeur vers une structure LOOKASIDE_LIST_EX qui décrit une liste de choix. Cette structure a été précédemment initialisée par la routine ExInitializeLookasideListEx.
Valeur de retour
ExAllocateFromLookasideListEx retourne un pointeur vers une entrée de liste lookaside, si une entrée est disponible dans la liste ou peut être allouée dynamiquement. Sinon, cette routine retourne NULL .
Remarques
Prudence
À compter de Windows 11, version 22H2, cette fonction passe de l’inline à l’exportation. Par conséquent, si vous générez votre pilote ciblant la dernière version de Windows, il ne sera pas chargé dans les versions antérieures du système d’exploitation. Pour modifier la version cible du système d’exploitation dans Visual Studio, sélectionnez Propriétés de configuration->Paramètres du pilote ->Général.
Cette routine supprime la première entrée, si une entrée est disponible, de la liste lookaside spécifiée et retourne un pointeur vers cette entrée. Si la liste est vide, la routine alloue le stockage pour une nouvelle entrée et retourne un pointeur vers cette entrée. Si cette allocation échoue, la routine retourne NULL.
Si la liste lookaside est vide, ExAllocateFromLookasideListEx appelle la routine LookasideListAllocateEx pour allouer le stockage pour une nouvelle entrée, si le pilote a fourni une telle routine. Sinon, une routine d’allocation par défaut est utilisée pour allouer l’entrée.
Une fois l’appelant terminé à l’aide de l’entrée, il doit libérer l’entrée en appelant la routine ExFreeToLookasideListEx.
Dans l’implémentation actuelle, une liste lookaside fonctionne en tant que pile LIFO (Last-In, First Out). Par conséquent, la dernière entrée à libérer (et à pousser sur la pile) est l’entrée suivante à allouer (popped) à partir de la liste.
Pour plus d’informations sur les listes lookaside, consultez Using Lookaside Lists.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Windows Vista et versions ultérieures de Windows. |
plateforme cible | Bureau |
d’en-tête | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |