Partager via


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

Voir aussi

ExFreeToLookasideListEx

ExInitializeLookasideListEx

LOOKASIDE_LIST_EX

LookasideListAllocateEx