链表
来源:互联网 发布:线切割3b手动编程入门 编辑:程序博客网 时间:2024/06/07 13:37
#include <ntddk.h>typedef struct _MYDATASTRUCT{ULONG number;LIST_ENTRY ListEntry;}MYDATASTRUCT,*PMYDATASTRUCT;void Unload(IN PDRIVER_OBJECT DriverObject);void LinkListTest(void);#ifdef __cplusplusextern "C" NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath);#endifNTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath){#if DBG_asm int 3#endifunsigned i;DbgPrint("Hello from 1!\n");DriverObject->DriverUnload =Unload;LinkListTest();return STATUS_SUCCESS;}void Unload(IN PDRIVER_OBJECT DriverObject){DbgPrint("Goodbye from 1!\n");}void LinkListTest(void){LIST_ENTRY linkListHead;//初始化链表InitializeListHead(&linkListHead);//在链表中插入10个元素PMYDATASTRUCT pData=NULL;ULONG i=0;for (i=0;i<10;i++){pData=(PMYDATASTRUCT)ExAllocatePool(PagedPool,sizeof(MYDATASTRUCT));pData->number=i;InsertHeadList(&linkListHead,&pData->ListEntry);}//从链表中取出,并显示while (!IsListEmpty(&linkListHead)){PLIST_ENTRY pEntry=RemoveTailList(&linkListHead);pData=CONTAINING_RECORD(pEntry,MYDATASTRUCT,ListEntry);DbgPrint(TEXT("%d\n"),pData->number);ExFreePool(pData);}return;}
0 0
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 总结
- Java程序日志三
- C语言结构体及函数传递数组参数示例
- C++ STL中哈希表 hash_map介绍
- asp、asp.net、.aspx、.ascx、.ashx的简单说明
- 链表
- HDU1312Red and Black
- 如何提高编程能力
- 前端基础知识整理(一)
- 技巧: 使用truss、strace或ltrace诊断软件的"疑难杂症"
- 性能杀手:”潜伏”的memset
- 单词反转 (微软公司面试题)
- JAVA基础-面向对象之封装
- Axure RP 公司低调发布了一款名为:Axshare的APP。