Partager via


ExAllocateFromNPagedLookasideList, fonction (wdm.h)

La routine ExAllocateFromNPagedLookasideList retourne un pointeur vers une entrée non paginée de la liste lookaside donnée, ou retourne un pointeur vers une entrée non paginé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 de la liste lookaside, que l’appelant a déjà initialisée avec ExInitializeNPagedLookasideList.

Valeur de retour

ExAllocateFromNPagedLookasideList retourne un pointeur vers une entrée si une entrée peut être allouée. Sinon, elle 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.

Si la liste 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 Allouer spécifiée lors de l’initialisation de 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. Par exemple, un pilote peut utiliser chacune de ces entrées de taille fixe pour configurer des blocs de commandes, tels que des SSR SCSI, sur des périphériques sur un type particulier d’E/S bus. L’appelant doit libérer chaque entrée avec ExFreeToNPagedLookasideList lorsqu’elle n’est plus utilisée.

Pour plus d’informations, consultez Using Lookaside Lists.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 2000.
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

ExAllocateFromPagedLookasideList

ExFreeToNPagedLookasideList

ExInitializeNPagedLookasideList

NPAGED_LOOKASIDE_LIST