InsertHeadList, fonction (wdm.h)

La routine InsertHeadList insère une entrée en tête d’une liste doublement liée de structures LIST_ENTRY .

Syntaxe

void InsertHeadList(
  [in, out] PLIST_ENTRY                  ListHead,
  [in, out] __drv_aliasesMem PLIST_ENTRY Entry
);

Paramètres

[in, out] ListHead

Pointeur vers la structure LIST_ENTRY qui représente le début de la liste.

[in, out] Entry

Pointeur vers une structure LIST_ENTRY qui représente l’entrée à insérer dans la liste.

Valeur de retour

None

Remarques

InsertHeadList met à jour ListHead-Flink> pour pointer vers Entrée. Il met à jour Entry-Flink> pour qu’il pointe vers l’ancienne première entrée de la liste et définit Entry-Blink> sur ListHead. Le champ Blink de la première entrée d’origine est également mis à jour pour pointer vers Entrée.

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 d’InsertHeadList peuvent être en cours d’exécution à n’importe quel IRQL. Si InsertHeadList est appelé dans IRQL >= DISPATCH_LEVEL, le stockage pour ListHead et les entrées de liste doivent être résidents.

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, Wudfwdm.h)
IRQL N’importe quel niveau (voir la section Remarques)
Règles de conformité DDI IoAllocateFree(wdm), IoReuseIrp(wdm), MarkingQueuedIrps(wdm), RemoveLockCheck(wdm), RemoveLockForward(wdm), RemoveLockForward2(wdm), RemoveLockForwardDeviceControl(wdm), RemoveLockForwardDeviceControl2(wdm), RemoveLockForwardDeviceControlInternal(wdm), RemoveLockForwardDeviceControlInternal2(wdm), RemoveLockForwardRead(wdm), RemoveLockForwardRead2(wdm) , RemoveLockForwardWrite(wdm), RemoveLockForwardWrite2(wdm), RemoveLockRelease2(wdm), RemoveLockReleaseCleanup(wdm), RemoveLockReleaseClose(wdm), RemoveLockReleaseCreate(wdm), RemoveLockReleaseDeviceControl(wdm), RemoveLockReleaseInternalDeviceControl(wdm), RemoveLockReleasePower(wdm), RemoveLockReleaseRead(wdm), RemoveLockReleaseShutdown(wdm),RemoveLockReleaseSystemControl(wdm), RemoveLockReleaseWrite(wdm)

Voir aussi

ExInterlockedInsertHeadList

InitializeListHead

InsertTailList

IsListEmpty

RemoveHeadList

RemoveTailList