LIST_ENTRY使用

 

VOID LinkListTest()

{

       LIST_ENTRY linkListHead;

       //初始化链表

       InitializeListHead(&linkListHead);

 

       PMYDATASTRUCT pData;

       ULONG i = 0;

       //在链表中插入10个元素

       KdPrint(("Begin insert to link list"));

       for (i=0 ; i<10 ; i++)

       {

              pData = (PMYDATASTRUCT)

                     ExAllocatePool(PagedPool,sizeof(MYDATASTRUCT));

              pData->number = i;

              InsertHeadList(&linkListHead,&pData->ListEntry);

       }

 

       //从链表中取出,并显示

       KdPrint(("Begin remove from link list\n"));

       while(!IsListEmpty(&linkListHead))

       {

              PLIST_ENTRY pEntry = RemoveTailList(&linkListHead);

              pData = CONTAINING_RECORD(pEntry,

                              MYDATASTRUCT,

                              ListEntry);

              KdPrint(("%d\n",pData->number));

              ExFreePool(pData);

       }

 }

 

遍历

PLIST_ENTRY pLink=NULL;
 for(pLink = glinkListRule.Flink; pLink !=(PLIST_ENTRY) &glinkListRule.Flink; pLink = pLink->Flink)
 {
  pRegPrtRule pData= CONTAINING_RECORD(pLink,RegPrtRule,ListEntry);
  
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值