Fonction ExAllocateFromNPagedLookasideList (wdm.h)

La routine ExAllocateFromNPagedLookasideList retourne un pointeur vers une entrée non pagée à partir de la liste de lookaside donnée, ou renvoie un pointeur vers une entrée non pagée nouvellement allouée.

Syntaxe

PVOID ExAllocateFromNPagedLookasideList(
  [in, out] PNPAGED_LOOKASIDE_LIST Lookaside
);

Paramètres

[in, out] Lookaside

Pointeur vers la structure NPAGED_LOOKASIDE_LIST pour la liste de recherche, que l’appelant a déjà initialisée avec ExInitializeNPagedLookasideList.

Valeur retournée

ExAllocateFromNPagedLookasideList retourne un pointeur vers une entrée si elle peut être allouée. Dans le cas contraire, elle retourne LA VALEUR NULL.

Notes

Attention

À partir de Windows 11, version 22H2, cette fonction est passée d’inline à exportée. Par conséquent, si vous générez votre pilote ciblant la dernière version de Windows, il ne parvient pas à se charger dans les anciennes versions 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, ExAllocateFromNPagedLookasideList supprime la première entrée de la liste et retourne un pointeur vers cette entrée. Sinon, ExAllocateFromNPagedLookasideList appelle la routine d’allocation spécifiée lors de l’initialisation de la liste ou ExAllocatePoolWithTag pour renvoyer 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. Par exemple, un pilote peut utiliser chacune de ces entrées de taille fixe pour configurer des blocs de commande, tels que des SNR SCSI, sur des périphériques sur un type particulier de bus d’E/S. L’appelant doit libérer chaque entrée avec ExFreeToNPagedLookasideList lorsqu’elle n’est plus utilisée.

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 Desktop (Expérience utilisateur)
En-tête wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Voir aussi

ExAllocateFromPagedLookasideList

ExFreeToNPagedLookasideList

ExInitializeNPagedLookasideList

NPAGED_LOOKASIDE_LIST