insertHeadList 函数 (wdm.h)

InsertHeadList 例程在LIST_ENTRY结构的双重链接列表的开头插入一个条目。

语法

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

参数

[in, out] ListHead

指向 LIST_ENTRY 结构的指针,该结构表示列表的标题。

[in, out] Entry

指向 LIST_ENTRY 结构的指针,该结构表示要插入列表中的条目。

返回值

备注

InsertHeadList 更新 ListHead-Flink> 以指向 Entry 它会更新 Entry-Flink> 以指向列表中的旧第一个条目,并将 Entry-Blink> 设置为 ListHead 原始第一个条目的 Blink 字段也会更新为指向 Entry

有关在实现双重链接列表时使用此例程的信息,请参阅 Singly 和 Doubly Linked Lists

InsertHeadList 的调用方可以在任何 IRQL 上运行。 如果在 IRQL >= DISPATCH_LEVEL 调用 InsertHeadList,则 ListHead 和列表条目的存储必须是常驻的。

要求

要求
最低受支持的客户端 从 Windows 2000 开始可用。
目标平台 桌面
标头 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h、Wudfwdm.h)
IRQL 任何级别 (请参阅备注部分)
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)

另请参阅

ExInterlockedInsertHeadList

InitializeListHead

InsertTailList

IsListEmpty

RemoveHeadList

RemoveTailList