Windows内核链表删除某一结点
typedef struct _List
{
LIST_ENTRY ListEntry;
ULONG number;
}List,*PList;
LIST_ENTRY ListHead;
VOID dellist()
{
PList plist;
PLIST_ENTRY temp=NULL;
if (IsListEmpty(&ListHead))
{
DbgPrint("Link is null\n");
return;
}
plist = (PList)ExAllocatePool(PagedPool, sizeof(List));
plist->number = 2;
temp = ListHead.Flink;
while (temp!=&ListHead)
{
if (plist->number== ((PList)temp)->number)
{
//DbgPrint("found 2\n");
ExFreePool(temp);
}
DbgPrint("%d", ((PList)temp)->number);
temp = temp->Flink;
}
return;
}
全局链表ListHead中存储着数字1-10,在while语句里找到匹配ListHead里有2的时候,我想把2的内容给删除掉。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论