123456

 

LIST_ENTRY结构

typedef struct _LIST_ENTRY 
{
           struct _LIST_ENTRY *Flink; 
           struct _LIST_ENTRY *Blink; 
} LIST_ENTRY, *PLIST_ENTRY

LIST_ENTRY是一个常见的 Windows 2000 数据类型是 LIST_ENTRY 结构,内核使用该结构将所有对象维护在一个双向链表中。一个对象分属多个链表是很常见的, Flink 成员是一个向前链接,指向下一个 LIST_ENTRY 结构, Blink 成员则是一个向后链接,指向前一个 LIST_ENTRY 结构。通常情况下,这些链表都成环形,也就是说,最后一个 Flink 指向链表中的第一个 LIST_ENTRY 结构,而第一个 Blink 指向最后一个。这样就很容易双向遍历该链表。如果一个程序要遍历整个链表,它需要保存第一个 LIST_ENTRY 结构的地址,以判断是否已遍历了整个链表。如果链表仅包含一个 LIST_ENTRY 结构,那么该 LIST_ENTRY 结构必须引用其自身,也就是说, Flink 和 Blink 都指向其自己

posted on 2012-09-17 10:41  hgy413  阅读(331)  评论(0编辑  收藏  举报

导航