韵慧庭

统计

Linux学习链接

Useful Blog

最新评论

数据类型 LIST_ENTRY

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

http://www.ddvip.net/OS/win2000/index7/img_windows2000/r_2-4.JPG

posted on 2005-11-18 15:53 tana 阅读(2375) 评论(1)  编辑 收藏 引用

只有注册用户登录后才能发表评论。