Partager via


InsertHeadList, fonction (wdm.h)

La routine InsertHeadList insère une entrée à la 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 la tête 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

Aucun

Remarques

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

Pour plus d’informations sur l’utilisation de cette routine lors de l’implémentation d’une liste doublement liée, consultez Listes Singly et Doubly Linked Lists.

Les appelants de InsertHeadList peuvent s’exécuter à n’importe quel runtime IRQL. Si InsertHeadList est appelé au >IRQL = DISPATCH_LEVEL, le stockage pour ListHead et les entrées de liste doivent être résidentes.

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, 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