阅读:1971回复:1
文件过滤驱动中使用链表的问题
在文件过滤驱动中,简单的方法就是使用链表保存过滤规则等信息,我在使用链表时发现一个问题,向各位请教一下:
1、定义链表头和链表指针为全局变量 PLIST_ENTRY p; LIST_ENTRY rule_list_head; 2、在DriverEntry中使用 SfReadDriverParameters( RegistryPath )来读取注册表中的设置参数; 3、SfReadDriverParameters 初始化链表后,使用 for(p = rule_list_head.Flink; p !=&rule_list_head; p = p->Flink) 条件遍历链表正常取到全部链表元素; 4、在create等例程中,需要使用链表中的元素,使用for(p = rule_list_head.Flink; p !=&rule_list_head; p = p->Flink) 条件遍历链表时,总有一个元素为空。 请各位大牛帮忙指点一下!谢谢! |
|
沙发#
发布于:2009-08-04 11:43
自己再顶一下!
我能想到的原因有:链表初始化在DriverEntry例程中,这个例程在system进程中执行,而create等进程在用户进程或者其他进程中执行。这样导致链表指针出现问题,导致遍历时出现错误。不知大牛们遇到过这样的问题吗? |
|