LIST_ENTRY应用操作

本文介绍了链表的基本操作,包括初始化、插入、删除等,并实现了一个查找特定ID的链表节点的功能。通过具体的代码示例展示了如何管理和使用链表结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

typedef struct _FILE_LIST_ENTRY {
LIST_ENTRY Entry;
PWSTR NameBuffer;
} FILE_LIST_ENTRY, *PFILE_LIST_ENTRY;    

LIST_ENTRY            listHead;
PFILE_LIST_ENTRY        tmpEntry;

Initialize(tmpEntry);
InitializeListHead(&listHead);

InsertHeadList(&listHead, &tmpEntry->Entry); 
InsertTailList(&listHead, &tmpEntry->Entry); 

IsListEmpty(&listHead);

PFILE_LIST_ENTRY tmpEntry = RemoveHeadList(&listHead);
PFILE_LIST_ENTRY tmpEntry = RemoveTailList(&listHead);
RemoveEntryList(&tmpEntry->Entry);

typedef struct _XXX_LIST_ENTRY
{
 LIST_ENTRY m_List;
        ...
}XXX_LIST_ENTRY;


XXX_LIST_ENTRY*
LookupWaitEntryByID(PLIST_ENTRY lpListHeader, ULONG ulID)
{
    PLIST_ENTRY lpList;
    XXX_LIST_ENTRY* lpEntry = NULL;

    for (lpList = lpListHeader->Flink; lpList != lpListHeader; lpList = lpList->Flink)
    {
        lpEntry = CONTAINING_RECORD(lpList, WAIT_LIST_ENTRY, m_List);
        if (lpEntry->m_ID == ulID)
        {
            return lpEntry;
        }
    }

    return NULL;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值