wd_list.c in windows_file_monitor


A better filter paper-driven book, word format, and source Liezi pay procedures....Original Link
    Sponsored links

			
///
/// @file wd_list.c
///


//	以下的代码仅仅做示范用。你可以修改和使用,但仅仅限于非商业
//	的应用。本代码不做任何质量和安全上的保证。任何商业使用必须
//	得到作者的许可。可以以以下方式与作者联系:
//  MSN:	walled_river@hotmail.com
//	EMail:	mfc_tan_wen@163.com
//	QQ:		16191935


#include "wd_list.h"
#include "wd_mem.h"

// 删除一个节点,这个节点必须是不在任何链表中的 
void wd_list_node_destroy(wd_list_node *node)
{
	// 请注意我并不清理数据,也就是说您必须
	// 首先自己清理数据,然后再删除节点
//	wd_free(node->data);
	node->data = NULL;
	wd_free(node);
}

// 生成一个节点,不过这个节点还没有插入任何链表
wd_list_node* wd_list_node_create(wd_void *data)
{
	wd_list_node *node = 
		wd_malloc(wd_false,
				 sizeof(wd_list_node));
	if(node == NULL)
		return node;
	node->data = data;
	node->list = NULL;
	node->next = NULL;
	node->prev = NULL;
	return node;
}

// 一个空链表初始化
wd_list* wd_list_create()
{
	// 直接初始化一个头即可.
	wd_list *list = wd_malloc(wd_false,sizeof(wd_list));
	if(list == NULL)
		return NULL;
	list->head = NULL;
	list->tail = NULL;
	wd_spin_init(&list->lock);
//	wd_mutex_init(&list->lock);
	return list;
};

// 清除一个链表,无论是否为空
void wd_list_destroy(wd_list* list)
{
	// 先从尾开始删除所有的节点
	wd_list_node *			

			...
			...
			... to be continued.

  This is a preview. To get the complete source file, 
  please click here to download the whole source code package.

			
			


Project Files

    Sponsored links
NameSizeDate
 <01.Windows文件系统过滤驱动开发教程(1)>0.00 B19% 13-10-05
 <02.Windows文件系统过滤驱动开发教程(2)>0.00 B22% 27-07-06
 <03.Windows文件系统过滤驱动开发教程(3)>0.00 B17% 08-12-05
 04.Windows文件系统过滤驱动开发教程(4).doc29.50 kB19-10-05 16:30
 05.Windows文件系统过滤驱动开发教程(5).doc32.50 kB10-01-06 10:39
 06.Windows文件系统过滤驱动程序教程(6).doc33.50 kB10-01-06 12:03
 07.Windows文件系统过滤驱动程序教程(7).doc40.00 kB01-11-05 17:36
 08.Windows文件系统过滤驱动程序教程(8).doc33.50 kB27-07-06 14:26
 09.Windows文件系统过滤驱动程序教程(9).doc30.00 kB13-10-05 11:52
 10.Windows文件系统过滤驱动程序教程(10).doc29.50 kB13-10-05 11:53
 <11.Windows文件系统过滤驱动开发教程(11)>0.00 B17% 13-10-05
 fsfe.c2.36 kB08-03-06 09:05
 fsfe.dsp3.38 kB08-03-06 09:05
 fsfe.h3.40 kB08-03-06 09:03
 fsfe.vcproj2.02 kB02-03-06 17:48
 makefile374.00 B07-09-05 15:41
 mybuild.bat966.00 B06-03-06 23:41
 mylib.lib312.67 kB08-03-06 09:25
 sources108.00 B02-03-06 16:30
 wdf_filter.c6.15 kB08-03-06 09:05
 wdf_filter.h3.23 kB08-03-06 09:03
 wdf_filter_disp.c12.88 kB08-03-06 09:05
 wdf_filter_disp.h1.98 kB08-03-06 09:03
 wdf_filter_fio.c5.49 kB08-03-06 09:05
 wdf_filter_fio.h5.34 kB08-03-06 09:03
 wdf_filter_fsctl.c8.14 kB08-03-06 09:05
 wdf_filter_fsctl.h2.38 kB08-03-06 09:03
 fsfe.h3.40 kB08-03-06 09:03
 wdf_filter.h3.23 kB08-03-06 09:03
 wdf_filter_disp.h1.98 kB08-03-06 09:03
 wdf_filter_fio.h5.34 kB08-03-06 09:03
 wdf_filter_fsctl.h2.38 kB08-03-06 09:03
 wdf.h4.02 kB02-03-06 17:29
 wd_dev.h14.93 kB28-02-06 17:57
 wd_file_to_name.h904.00 B20-12-05 19:26
 wd_fs.h1.01 kB21-12-05 15:07
 wd_irp.h6.97 kB28-02-06 14:45
 wd_list.h1.55 kB28-02-06 09:40
 wd_mem.h2.07 kB21-12-05 15:01
 wd_set.h1.59 kB20-12-05 18:58
 wd_shadow_io.h2.03 kB04-03-06 10:36
 wd_syn.h2.38 kB20-12-05 19:54
 wd_sys.h3.57 kB04-03-06 10:42
 wd_ustr.h2.32 kB23-12-05 13:33
 fsfed.lib312.67 kB08-03-06 09:25
 wdfd.lib258.02 kB08-03-06 09:25
 create_filter.c2.05 kB08-03-06 09:07
 create_filter.dsp2.89 kB08-03-06 09:24
 makefile374.00 B07-09-05 15:41
 mybuild.bat712.00 B06-03-06 23:55
 CreateFilter.sys20.00 kB07-03-06 00:10
 sources179.00 B07-03-06 00:08
 file_filter.c3.17 kB08-03-06 09:26
 file_filter.dsp2.84 kB08-03-06 09:24
 makefile374.00 B07-09-05 15:41
 mybuild.bat710.00 B08-03-06 09:24
 FileFilter.sys20.50 kB08-03-06 09:26
 sources177.00 B08-03-06 08:55
 makefile374.00 B07-09-05 15:41
 mybuild.bat949.00 B02-03-06 16:30
 mylib.lib258.02 kB08-03-06 09:25
 sources108.00 B02-03-06 15:45
 wdf.dsp3.63 kB04-03-06 10:34
 wdf.h4.02 kB02-03-06 17:29
 wdf.vcproj2.30 kB02-03-06 17:48
 wd_dev.h14.93 kB28-02-06 17:57
 wd_file_to_name.c7.12 kB08-03-06 09:03
 wd_file_to_name.h904.00 B20-12-05 19:26
 wd_fs.h1.01 kB21-12-05 15:07
 wd_irp.h6.97 kB28-02-06 14:45
 wd_list.c2.68 kB08-03-06 09:03
 wd_list.h1.55 kB28-02-06 09:40
 wd_mem.h2.07 kB21-12-05 15:01
 wd_set.h1.59 kB20-12-05 18:58
 wd_shadow_io.c10.22 kB04-03-06 10:35
 wd_shadow_io.h2.03 kB04-03-06 10:36
 wd_syn.h2.38 kB20-12-05 19:54
 wd_sys.c21.22 kB08-03-06 09:03
 wd_sys.h3.57 kB04-03-06 10:42
 wd_ustr.c8.15 kB08-03-06 09:03
 wd_ustr.h2.32 kB23-12-05 13:33
 wdf_filter.dsw1.47 kB08-03-06 09:24
 如何编译.txt346.00 B08-03-06 08:52
 文件过滤系统设计.txt17.27 kB08-03-06 09:36
 wdf_filter1.rar297.71 kB26-07-06 17:28
 心得.txt1.30 kB27-07-06 14:41
 <i386>0.00 B17-10-06 09:02
 <i386>0.00 B17-10-06 09:02
 <i386>0.00 B17-10-06 09:02
 <objchk_wnet_x86>0.00 B17-10-06 09:02
 <objchk_wnet_x86>0.00 B17-10-06 09:02
 <i386>0.00 B17-10-06 09:02
 <Debug>0.00 B17-10-06 09:02
 <objchk_wnet_x86>0.00 B17-10-06 09:02
 <Release>0.00 B17-10-06 09:02
 <fsfe>0.00 B17-10-06 09:02
 <wdf>0.00 B17-10-06 09:02
 <create_filter>0.00 B17-10-06 09:02
 <file_filter>0.00 B17-10-06 09:02
 <Debug>0.00 B17-10-06 09:02
 <objchk_wnet_x86>0.00 B17-10-06 09:02
 <Debug>0.00 B17-10-06 09:02
 <fsfe>0.00 B17-10-06 09:02
 <inc>0.00 B17-10-06 09:02
 <lib>0.00 B17-10-06 09:02
 <samples>0.00 B17-10-06 09:02
 <wdf>0.00 B17-10-06 09:02
 <wdf_filter1>0.00 B17-10-06 09:02
 <wdf_filter1>0.00 B17-10-06 09:02
 <文件系统过滤驱动开发教程>0.00 B05-09-08 09:10
...

Related Items

    Sponsored links