阅读:1153回复:1
请教驱动中建立链表的问题
我想再filemon驱动中建立一个规则链表,但是赋值好像总是赋不上,有如下步骤:
1、在头文件中定义节点 typedef struct RefuseRule { CHAR file_fullPathName[MAXPATHLEN]; CHAR pro_name[PROCNAMELEN]; CHAR asktype[8]; struct RefuseRule *next; } RefuseRule,*PREFUSERULE; 2、定义全局变量 PREFUSERULE PRefuseRule ; RefuseRule *p_temp , first_node; int rule_count==-1; 3、初始化过滤规则链表 if(rule_count==-1) { PRefuseRule=(RefuseRule *) ExAllocatePool( NonPagedPool, (sizeof(RefuseRule))); strcpy(PRefuseRule->pro_name,""); strcpy(PRefuseRule->file_fullPathName,"abc.txt"); PRefuseRule->next=NULL; rule_count++; } 4、对链表进行增加和删除操作,用DbgPrint输出观察应用程序传入的串,正确传入,但是结果表明规则始终没有加上,结果发现头节点的信息就是第3步的都没有,传入的串分开后也有问题,最初使用数组不行,后使用malloc不行,先使用ExAllocatePool( NonPagedPool, 。。。只能说不死机,但是赋值总是没有赋上。 ************************************* 这是什么原因呢,请大侠指点一二 或者能给出一个简单的初始化链表和添加节点的示例? 多谢 !!!!!!!!:o [编辑 - 7/30/04 by birdtomaster] |
|
沙发#
发布于:2004-07-30 17:58
呵呵,我只看过filemon中的例子,你可以参考一下
|
|
|