驱动开发
文章平均质量分 78
yanghao58686763
努力学习~
展开
-
驱动程序的分类
自学驱动程序,很辛苦,不是看不懂,而是苦于无门可入。看了一些资料,总结了一些驱动的类型,希望对其他人有点作用,不期望起多大的作用,只要不误人子弟就行!1. 虚拟设备驱动程序VxDVxD,虚拟设备驱动程序,Win9X下的一种驱动程序类型。其中x代表虚拟设备的名字,如VKD代表虚拟键盘设备。VxD本身是运行在Ring0级的32位的可执行程序,它是Windows应用程序和实际硬件之间的接原创 2009-07-23 17:11:00 · 2101 阅读 · 3 评论 -
驱动开发学习笔记1
1.驱动程序在某些特定时候可以理解为内核模块,即运行在Ring0级的一段代码。2.内核模块位于内核空间,而内核空间又被所有的进程共享。因此,内核模块实际上可以位于任何一个可能的进程空间中的。这些进程取决于请求的来源、处理的进程。3.系统进程不代表内核空间的进程,而是特指进程“System”,它的PID始终为4,在内核代码中调用PsGetCurrentProcessId就可以原创 2009-07-30 15:46:00 · 880 阅读 · 0 评论 -
64bit and 32bit和X64 and X86 的问题
1、64位处理器 与 32位处理器 64位处理器是指可以对虚拟地址空间(virtual address space)进行64位寻址的处理器。64位处理器可以以64位格式存贮数据,并可以对64位操作数执行数学运算操作。另外,处理器的通用寄存器(GPRs)和运算器(ALUs)也是64位的。目前市场上Intel兼容处理器可以实现64位计算的主要有3种:1) Intel IA64,基于安腾2处理器原创 2009-11-13 10:30:00 · 3177 阅读 · 1 评论 -
加载顺序
前一段时间,在XueTr上发现个有趣的东西【驱动模块-加载顺序】,很好奇这个顺序是怎么来的,调查了一下。在系统初始化的时候,决定驱动程序在什么时候被载入的信息保存在注册表中。 1. 首先,按【批次】第一批,第二批,第三批顺序载入. 【批次】,是由【HKLM/SYSTEM/CurrentControlSet /Services/驱动名/Start】决定的。 2. 其次,同一批次的原创 2011-06-29 08:45:00 · 968 阅读 · 0 评论 -
如何使用内存池监视器 (Poolmon.exe) 来解决内核模式内存泄漏
工具poolmon.exe说明(XP下可以用memsnap工具)1. 使能Tag模式在使用poolmon之前,你必须使能Tag模式并重新启动服务器。池Tag的特性是将收集和计算的信息通过分配内存的Tag值进行排序。注:使用Windows 2003服务器不需要使转载 2011-07-05 08:11:18 · 5794 阅读 · 0 评论 -
过滤驱动容易让新手纠结的几个函数
1. IoAttachDeviceNTSTATUS IoAttachDevice( IN PDEVICE_OBJECT SourceDevice, IN PUNICODE_STRING TargetDevice, OUT PDEVICE_OBJECT *AttachedDevice);将【指定指针】的设备对象附加到【指定名称】的设备对象所在的【设备对象栈】原创 2011-07-18 18:40:28 · 2916 阅读 · 0 评论