摘要: 在写驱动的时候,经常要调用ExAllocatePoolWithTag函数分配内存,其中第一个参数可以是如下几个:NonPagedPool从非分页内存池中分配内存PagedPool从分页内存池中分配内存NonPagedPoolMustSucceed从非分页内存池中分配内存,如果不能分配则产生bugcheckNonPagedPoolCacheAligned从非分页内存池中分配内存,并确保内存与CPU cache对齐NonPagedPoolCacheAlignedMustS与NonPagedPoolCacheAligned类似,但如果不能分配则产生bugcheckPagedPoolCacheAlig 阅读全文
posted @ 2011-09-22 18:18 chanchaw 阅读(5948) 评论(0) 推荐(0) 编辑
摘要: 分三块来讲述:1 首先:在C中定义一个结构体类型要用typedef:typedef struct Student{int a;}Stu;于是在声明变量的时候就可:Stu stu1;如果没有typedef就必须用struct Student stu1;来声明这里的Stu实际上就是struct Student的别名。另外这里也可以不写Student(于是也不能struct Student stu1;了)typedef struct{int a;}Stu;但在c++里很简单,直接struct Student{ int a;};于是就定义了结构体类型Student,声明变量时直接Student stu 阅读全文
posted @ 2011-09-22 11:57 chanchaw 阅读(179) 评论(0) 推荐(0) 编辑
摘要: WDF驱动模型如所周知,自Windows 2000开始,开发驱动程序必以WDM为基础的,但其开发难度之大,根本不能奢望像用户模式应用程序开发那样容易。为改善这种局面,微软推出了新的驱动程序开发环境。要预先指出的是,这不是另起炉灶改弦更张,而是以WDM为基础进行了建模和封装,显著特点是降低了开发难度。因为:1、 将原来普通程序设计中基于对象的技术应用到了驱动开发中。WDM中虽也有对象模型,但与真正的基于对象技术根本就不是一回事。为了实现基于对象的技术,微软精心设计了对象模型并进行了封装。属性、方法、事件等等“一个都不能少”。2、 无论内核模式的驱动程序或者用户模式的驱动程序,都采用同一套对象.. 阅读全文
posted @ 2011-09-22 10:22 chanchaw 阅读(327) 评论(0) 推荐(0) 编辑
摘要: Windows的驱动开发模型 在Windows的不同版本上开发的驱动程序“模型”(模型这个词语应该来源于单词“Mode”。在Windows NT上,驱动程序被称为Kernel Driver Mode驱动程序。笔者认为这个Mode是指一种驱动程序的结构和运作的规范),有过不同的名称。比如在Windows 9x上的驱动程序,都叫做VXD,而在Windows NT上的驱动程序被称为KDM驱动程序,Windows 98~2000这个时期出现的新模型叫做WDM。 Windows的驱动模型概念,本来是就驱动程序的行为而言的。比如WDM驱动,必须要满足提供n种被要求的特性(如电源管理、即插即用)才被称为WD 阅读全文
posted @ 2011-09-22 10:17 chanchaw 阅读(501) 评论(0) 推荐(0) 编辑
摘要: 欲在这里记录驱动开发学习的过程,并包括游戏外挂技术.自:2011-9-22 阅读全文
posted @ 2011-09-22 10:07 chanchaw 阅读(92) 评论(0) 推荐(0) 编辑