Fonction ExAllocateFromPagedLookasideList (wdm.h)
La routine ExAllocateFromPagedLookasideList retourne un pointeur vers une entrée paginée de la liste de lookaside donnée, ou retourne un pointeur vers une entrée paginée nouvellement allouée.
Syntaxe
PVOID ExAllocateFromPagedLookasideList(
[in, out] PPAGED_LOOKASIDE_LIST Lookaside
);
Paramètres
[in, out] Lookaside
Pointeur vers la structure PAGED_LOOKASIDE_LIST de la liste de lookaside, que l’appelant a déjà initialisée avec ExInitializePagedLookasideList.
Valeur retournée
ExAllocateFromPagedLookasideList retourne un pointeur vers une entrée si elle peut être allouée. Sinon, elle retourne NULL.
Notes
Attention
À compter de Windows 11, version 22H2, cette fonction est passée de inline à exportée. Par conséquent, si vous générez votre pilote ciblant la dernière version de Windows, il ne pourra pas se charger dans les versions antérieures du système d’exploitation. Pour modifier la version du système d’exploitation cible dans Visual Studio, sélectionnez Propriétés de configuration-Paramètres> du pilote-Général>.
Si la liste de lookaside donnée n’est pas vide, ExAllocateFromPagedLookasideList supprime la première entrée de la liste et retourne un pointeur vers cette entrée. Sinon, ExAllocateFromPagedLookasideList appelle la routine Allocate spécifiée lors de l’initialisation de la liste ou ExAllocatePoolWithTag pour retourner un pointeur d’entrée.
L’appelant peut ensuite configurer l’entrée retournée avec toutes les données déterminées par l’appelant. L’appelant doit libérer chaque entrée avec ExFreeToPagedLookasideList lorsqu’elle n’est plus utilisée.
Étant donné que les entrées d’une liste de recherche paginée sont allouées à partir de la mémoire paginable, elles ne doivent pas être accessibles à un irQL >= DISPATCH_LEVEL. Vous pouvez utiliser ExAllocateFromNPagedLookasideList pour créer une liste de lookaside avec des entrées non paginables.
Sur Windows 2000, les pilotes doivent utiliser le commutateur -D_WIN2K_COMPAT_SLIST_USAGE pour lier correctement le code qui utilise ExAllocateFromPagedLookasideList.
Pour plus d’informations, consultez Utilisation de lookaside Listes.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 2000. |
Plateforme cible | Universal |
En-tête | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
Voir aussi
ExAllocateFromNPagedLookasideList