ExAllocateFromPagedLookasideList, fonction (wdm.h)
La routine ExAllocateFromPagedLookasideList retourne un pointeur vers une entrée paginée à partir de la liste lookaside donnée, ou renvoie 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 lookaside, que l’appelant a déjà initialisée avec ExInitializePagedLookasideList.
Valeur de retour
ExAllocateFromPagedLookasideList 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, ExAllocateFromPagedLookasideList supprime la première entrée de la liste et retourne un pointeur vers cette entrée. Sinon, ExAllocateFromPagedLookasideList 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. 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 lookaside paginées 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 lookaside avec des entrées non paginables.
Sur Windows 2000, les pilotes doivent utiliser le commutateur -D_WIN2K_COMPAT_SLIST_USAGE pour lier le code qui utilise ExAllocateFromPagedLookasideList.
Pour plus d’informations, consultez Using Lookaside Lists.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible à partir de Windows 2000. |
plateforme cible | Universel |
d’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