RemoveHeadList 函数 (wdm.h)
RemoveHeadList 例程从LIST_ENTRY结构的双重链接列表的开头删除一个条目。
语法
PLIST_ENTRY RemoveHeadList(
[in, out] PLIST_ENTRY ListHead
);
参数
[in, out] ListHead
指向用作列表标头 的 LIST_ENTRY 结构的指针。
返回值
RemoveHeadList 返回指向从列表中删除的条目的指针。 如果列表为空, RemoveHeadList 返回 ListHead。
注解
RemoveHeadList 通过将 ListHead-Flink> 设置为指向列表中的第二个条目,从列表中删除第一个条目。 例程将第二个条目的 Blink 成员设置为 ListHead。 如果列表为空,这实际上是一个无操作。
有关在实现双重链接列表时使用此例程的信息,请参阅 Singly 和 Doubly Linked Lists。
RemoveHeadList 的调用方可以在任何 IRQL 上运行。 如果在 IRQL >= DISPATCH_LEVEL 调用 RemoveHeadList,则 ListHead 和列表条目的存储必须是驻留的。