内核驱动
张佩
十年Windows内核程序员调试员著有竹林蹊径深入浅出Windows内核开发
展开
-
WDF开发USB设备驱动教程(4)
PDF全文下载地址:http://download.csdn.net/source/23202807.2 构造并发送控制命令向USB设备发送控制命令,需要初始化一个WDF_USB_CONTROL_SETUP_PACKET 结构体。WDF定义了一些宏专门用来对结构体进行初始化。这些宏定义分别对应于:为Class类型控制命令初始化、为用户自定义类型控制命令初始化、为标准命令类型控制命令初原创 2010-02-24 20:21:00 · 7389 阅读 · 4 评论 -
VS2012驱动项目时间戳验证失败
前几天的一个早晨,大概5点钟就醒了,再也睡不着。想到有一个驱动程序还需要debug,就爬起来继续coding。起来打开电脑,运行VS2012并打开项目。把代码逻辑仔细的看过一遍,想了想,有了一点小发现,改了几行代码。按下F7开始编译。很惊讶,发现了一个错误。通过VS2012 IDE环境创建的驱动项目(solution)中总是包含两个工程:一个是驱动工程,用来编译并生成驱动文件(一般是.sys文件);一个是package工程,用来把编程成功的驱动文件整合到一个可安装驱动包中。我看了一下错误,第一个工程已编原创 2014-01-10 15:15:43 · 12434 阅读 · 0 评论 -
Win8驱动的兼容性问题
最近我发现为Win8开发的驱动程序,有些能安装在Win7上(包括更早系统),有些则不能。那些不能安装的情况很可怕:一旦安装并加载驱动,系统就会立刻蓝屏。针对这个问题,做了一番调查研究。发现了一个简单的规律:如果开发时使用的是WDM驱动框架,则存在此问题;如果使用KMDF驱动框架,则正常。这是为什么呢?一起来看看吧。原创 2014-01-06 21:40:42 · 5296 阅读 · 0 评论 -
怎么用Visual Studio编译内核驱动
这一章驱动小z继续带大家遨游驱动王国。在这块地面上,小z是个地头蛇,跑动跑西惯了。贵读者有什么地方想特别了解的,都可以咨询我,很乐意做半日游的导游。所谓登高必有卑,在把大家引入到高山圣境之前,先要在山脚下徜徉几时,为的是把一些预备的事情交代清楚。这一节讲的是驱动程序编译环境。Windows内核驱动的历史有多久,它的开发环境就要有多久,所以是很有历史的话题。话分两头讲,它起先是很不好,后来则非常好。很不好的时代是旧社会,现在则已是非常好的新时代。原创 2013-05-20 18:26:20 · 8335 阅读 · 15 评论 -
Windows显示驱动(WDDM)编程初步(1)
欢迎转载【作者:张佩】【原文:http://www.yiiyee.cn/Blog/wddm1/】Windows显示驱动从Vista开始,使用新的WDDM编程框架,称为Windows Display Driver Model。也有一种最初的名称是LDDM,L代表Longhorn,但后来微软在所有产品线上都不再使用Longhorn代号,故而改成现在的名称。虽然在有些地方还能看到LDD原创 2013-07-26 10:41:12 · 7416 阅读 · 2 评论 -
Windows显示驱动(WDDM)编程初步(2)
欢迎转载【作者:张佩】【原文:http://www.yiiyee.cn/Blog/wddm2/】第二部分专门只讲VIDPN。这是后面内容的基础。WDDM框架用VIDPN这个概念,来描述它所要处理的显示关系。VIDPNVIDPN的全称是Video Present Network,这个因为词组不太好翻译(直译可以是:视频提交网络,但颇为难听),所以一般都直接讲它的英文。原创 2013-08-05 16:31:43 · 4944 阅读 · 1 评论 -
内核字符串处理函数和IRQL
内核字符串处理函数和IRQL--by 张佩系统中断级(IRQL)借助于IRQL机制,系统实现了任务抢占功能。高中断级任务可以任意抢占低中断级任务的系统执行权,而低中断级任务必须等待所有高中断级任务都完成后,才能获取执行机会和相应系统资源。在单核系统中,系统中断级还被用做实现系统同步机制的手段,因为一颗核心的CPU在同一时刻,仅能运行一个线程,所以只要把当前正在使用Critical资原创 2011-12-21 18:44:49 · 3611 阅读 · 3 评论 -
WDF开发USB设备驱动教程(1)
PDF下载地址(1.2版):http://bbs.driverdevelop.com/read.php?tid-120461.htmlCY001开发板讨论帖:http://bbs.driverdevelop.com/read.php?fid=22&tid=119314&toread=1注:本文档新版本已出,请在博客中查找,或下载PDF全文文档。 WDF开发USB设备驱动教程原创 2010-02-22 19:54:00 · 17856 阅读 · 19 评论 -
文件驱动,绑定指定卷
我们平时看sfilter的时候,发现它一方面面面俱到,一方面弄乱了我们的脑子。特别是绑定卷的那一部分,到底是怎么实现的,总觉得七拐八拐,拐弯太多。能不能写一个比较简单的绑定函数?比如我指定只要过滤c盘,那么我只要绑定c盘就够了。我试着写了一个,本文介绍我的这部分代码。我定义了一个函数:BOOLEAN Attach2C_Volume(PUNICODE_STRING nameString)name原创 2007-05-31 22:02:00 · 2752 阅读 · 1 评论 -
微软专家Doron Holan谈WDF的视频
我在OSR邮件列表里面,经常拜读Doron Holan对形形色色问题的精彩解读。这次发现了这个视频,非常棒!特此转载。 It's hard to write kernel mode drivers. Real hard. In fact, it's hard to believe how hard it is. Well, the Windows Driver People have原创 2011-03-13 12:10:00 · 3334 阅读 · 2 评论 -
64位驱动签名工具64Signer
【作者:张佩】【工具下载:http://www.yiiyee.cn/Blog/64signer/】背景介绍微软对于自Vista开始的64位OS有新的数字签名策略,即所有内核驱动都必须是经过可信机构签发过数字证书的,否则系统拒绝加载。此策略的目的是加强系统安全防护,使得一干惯于偷偷摸摸、底细不清的内核模块无法在系统中容身。但它却也给正经的内核开发人员带去一个麻烦:开发过程原创 2013-05-14 17:17:19 · 11027 阅读 · 5 评论