Fonction RemoveEntryList (wdm.h)
La routine RemoveEntryList supprime une entrée d’une liste doublement liée de structures LIST_ENTRY .
Syntaxe
BOOLEAN RemoveEntryList(
[in] PLIST_ENTRY Entry
);
Paramètres
[in] Entry
Pointeur vers la structure LIST_ENTRY qui représente l’entrée à supprimer.
Valeur retournée
RemoveEntryList retourne TRUE si, après la suppression de l’entrée désignée, la liste est vide. Sinon, la routine retourne FALSE pour indiquer que la liste résultante contient toujours une ou plusieurs entrées. Pour plus d’informations, consultez la section Remarques ci-dessous.
Remarques
RemoveEntryList supprime l’entrée en définissant le membre Flink de l’entrée avant Entrée pour qu’il pointe vers l’entrée après Entrée, et le membre Blink de l’entrée après Entrée pour pointer vers l’entrée avant Entrée.
La valeur de retour peut être utilisée pour détecter quand la dernière entrée est supprimée de la liste. Une liste vide se compose d’une tête de liste uniquement et d’aucune entrée de liste.
En règle générale, l’entrée pointe vers une entrée dans une liste et non vers l’en-tête de liste. Toutefois, Entry peut pointer vers une tête de liste, auquel cas la routine supprime le chef de liste de la liste pour produire une liste sans tête. Lorsque RemoveEntryList est utilisé de cette façon, la valeur de retour doit généralement être ignorée. Pour déterminer si une liste est vide, utilisez la routine IsListEmpty .
Pour plus d’informations sur l’utilisation de cette routine lors de l’implémentation d’une liste doublement liée, consultez Singly and Doubly Linked Listes.
Les appelants de RemoveEntryList peuvent être en cours d’exécution à n’importe quel IRQL. Si RemoveEntryList est appelé dans IRQL >= DISPATCH_LEVEL, le stockage des entrées de liste doit être résident.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h, Wudfwdm.h) |
IRQL | N’importe quel niveau (voir la section Remarques) |
Règles de conformité DDI | DoubleExFreePool(storport) |