竹林蹊径
2011-3
电子工业出版社
张佩,马勇,董鉴源
506
无
国内内核开发方面的书籍特别少,一个原因是很多技术牛人,没有时间或机会把自己掌握的知识编辑成书。真的很遗憾。希望我砸出这块砖头后,后面会在书店里看到无数的翡翠之作。 相比较国外的程序员,国内程序员在学习内核驱动开发的时候,学习曲线特别长,主要原因是没有趁手可用的资料。有一些初学者联系我,倒出的苦水大多是:资料太少,技术太难,不知从何下手。我给出的建议多是希望他们努力学习WDK中的现成文档,并推荐一些经典的英文电子档。但大多数初级学习者,并不满足我这个答案——他们希望有中文资料。这时候,我会向他们推荐《深入解析Windows操作系统》或者《软件调试》,有时候,我还会谨慎地向他们推荐《驱网核心技术》丛书。 很高兴有机会,写成这样一本书。本书的另外两位作者是马勇和董鉴源,他们分别写了第1章和第2章。写《竹林蹊径——深入浅出Windows驱动开发》花了我整整八个月的时间,有半年左右,我把所有的时间都花在上面,不上班,不娱乐。这本书是我的劳苦之作。 我利用写作的机会,纵深渗透学习了不少知识。与其说它是在展示个人才华,不如说是做了一次自我进修和测试。我做不到文采飞扬,能保证的是负责任的态度。此书在写作过程中,增删若干遍,完稿之后,请多位前辈老师审稿。我现在唯一期望的是书中的内容,确实能够对读者起到帮助、参考的作用。 本书特色 《竹林蹊径——深入浅出Windows驱动开发》这本书的一个最大特点是插图和示例多,对涉及到的大部分知识,能做到一定深度的挖掘。谭文跟我说,无法把自己的技术经验完全写出来。我当然同意他这句话的正确性;但写作的过程中,我仍然尽最大的可能,把技术和经验文字化、图形化,尽量做到由浅入深,脉络分明——这是我个人的最高目标。 平时给别人讲某个知识点的时候,哪怕是最简单的,我喜欢讲得360度面面俱到。说了一层,爱说下面还有一层。讲了烧水之釜,还要介绍釜底之薪。有人不喜欢这样,但我喜欢。如果以后还写书,我仍会保持这一点。 本书主要内容 本书主要包含这几个方面的内容:WDF框架、驱动测试、音视频编程、驱动安装。这其中,最费精神的是WDF框架相关章节。 WDF是目前和将来驱动开发的大势所趋。如果初学者因为资料的关系,而紧握着WDM架构的双手的话,他一定要留神,不要冷落了旁边正如日中天的WDF。搞技术,特别是在Windows平台上,不建议大伙具有怀旧情绪,跟着形势走是必然的。 书中有四章内容介绍WDF。笔者如农夫翻地一般,把WDF奇异表面下的具体实现做了一定的揭露。笔者饶有兴趣地为大家分析WDF的对象模型,而从Wdf01000符号文件中揭露的内部结构体定义,能令很多人吃惊不小。 用WDF框架编写驱动,要比WDM方便、简单一半以上。本书中介绍了使用WDF框架进行USB和1394编程的内容。由于USB的运用之广,使USB驱动成为Windows内核驱动中的显学。驱动开发网专门辟有“USB驱动”版块,并几乎是最聚人气的地方。为配合USB一章的写作与学习,笔者专门请朋友精心设计了一款USB驱动学习开发板。读者在本书中的多处地方,都能看到它的玲珑身影。 驱动测试方面包括两章内容,一章以WDF驱动测试为中心进行介绍,另一章介绍了Windbg调试命令。曾经的王者SoftIce湮没不闻后,Windbg成了唯一的内核调试利器,不可不掌握。 音视频驱动向来都比较小众,做相关开发的公司和个人都很少,资料也就更加少。本书有两章内容介绍音视频开发,一章介绍AVStream小端口架构,一章介绍酷酷的ASIO音频驱动,并以虚拟ASIO声卡的创新技术,为有兴趣的读者带去福音。 本书最后三章,介绍驱动安装有关的知识。一章介绍驱动安装的原理及系统模块,一章介绍INF安装文件的技术细节,一章以示例介绍如何编写驱动安装软件。看过这些内容后,试着为你的驱动写一个安装软件,会很酷。 本书读者对象 本书适合一般程序员 对WDF感兴趣,准备开发VSB或1394设备驱动者 下面要说一些和技术无关的东西。 在本书写作过程中,有许多书外的记忆。比如,夏天我工作的时候,我女儿常常站在床头,猛地一下用手扑打我的笔记本,电脑屏幕就倾了下去,一阵惊叫。 一次两章隔夜刚新鲜写好的内容,保存在移动硬盘中,第二日在另一台电脑上开机,却怎么都找不到了。翻遍整个系统,用了N种数据、磁盘恢复工具,都无济于事,踪影全无。那种无助得想哭的感觉,一直记在心间(这个问题我后来把它再现了,可以认定是Windows 7操作系统的BitLocker功能在休眠唤醒处理上的一个Bug)。 致谢 感谢我的好朋友,谭文。是他推荐我主笔这本书的写作。这套系列中的《天书夜读——从汇编语言到Windows内核编程》和《寒江独钓——Windows内核安全编程》出版后,大家都很忙。谭文很信任我,推荐我写《竹林蹊径——深入浅出Windows驱动开发》。谭文是我以前的同事,湖南人,故在网上号楚狂人,赫赫有名,散文随笔一级好,技术文章有散文风。谢谢李冰编辑和文字编辑葛娜女士,她们的信任和支持,使我有可能完成这本书。 感谢本书两另外两位作者,他们贡献了第1章和第2章。 感谢潘爱民老师,他为本书写了序,令我有蓬荜生辉之感。 感谢张银奎老师,张帆兄,他们也对本书给予了鼓励,并写了推荐语。 我要感谢所有照顾过我的亲人们:谢谢我大阿姨,她现在只在天上看着我们。她以力排众议的气势,关心照顾过我。谢谢红兵表哥,他正好大我一轮,学习成绩冠于全镇。当初我老爱从他那里偷书,那些书正是我童年和少年时代仅有的课外书。谢谢小姨父,父执辈中他是唯一给我严肃、客观教育的人。感谢我舅舅,他给我很多帮助。以前,我总是把去上海说成“去我舅舅那”。 谢谢我所有的亲人们。 感谢双方父母,感谢他们所有的辛勤付出。 最后,感谢我的妻子,近两年以来,她离职在家做专职母亲,好像把十几年的事情放在一两年里做了,岁月催人老,我把她累坏了。 最后是一首五言八句,会意书名曰:《竹林蹊径》 荫荫翠竹百亩林, 结庐恒爱此中景。 寻常偶遇方外客, 殷勤指点通幽径。 张佩
本书是作者根据多年的工作学习经验,总结的第一手驱动开发资料。本书更多的是经验之谈,一些实践中的小发现小意外,颇为书中内容添彩。 本书的特色之一,是对WDF框架做了较多的切入。本书第一个主要内容是(第3~7章)围绕WDF而展开讨论,侧重点各有不同。第3章以框架为讨论的中心;第4、5两章以WDF框架开发USB和1394驱动;第6章讲述内核C++编程,也以WDF框架为蓝本;第7章讲述WDF驱动的测试和调试。 第二个主要内容是关于音视频驱动开发(第10~11章)。音视频驱动包括AVStream架构,本书做了较详细的阐述。第10章讲述使用AVStream小端口架构,第11章讲述ASIO音频驱动开发。第三个主要内容是关于设备驱动安装(第12~14章)。第12章讲系统安装模块,从总体角度阐述系统和设备驱动如何配合完好地进行工作;第13章讲述INF安装文件的细节,包括各个域的作用,以及诸多安装指令的使用。第14章讲如何编写驱动安装软件。 剩余的一些章节,分别是关于驱动入门(第1、2章)、Windbg调试命令(第8章)、内核同步(第9章)等内容。 本书适合一般入门级内核程序员,对WDF有兴趣,准备开发USB或1394设备驱动者,本书尤其有用。本书对于入行较久,经验丰富的程序员,也具有一定的参考价值。
张佩,1982年出生于江中小岛江苏扬中,工作后一直从事内核驱动开发。初学颇难,至今仍显踯躅,深憾未能窥出系统全貌,而吭吭努力不断。学习过程中,得到朋友无私帮助颇多,有所心得后,亦乐于作文、评说,以传播给更多的爱好者——此书由此而来。目前就职于AMD上海研发中心。
马勇,网名znsoft,驱动开发网创始人。专注于文件系统驱动研究,擅长文档透明加密相关技术及软件架构设计。从事驱动开发及研发管理工作十数年,目前就职于铠信安全实验室。
董鉴源,C/C++、汇编程序员。1986年生于山东。大学毕业后从事各类系统软件的开发设计工作。目前在济南从事Windows内核方面的开发工作。爱好读书、文学、围棋和武术等,对编写操作系统尤为痴迷。承蒙不弃,有幸参与本书部分基础章节的编写。
第1章 Hello World驱动 1.1 从Hello World开始 1.2 虚拟环境 1.3 小结 第2章 商业驱动开发技术 2.1 建立开发调试环境 2.2 64位驱动开发技术 2.3 驱动程序的发布与测试 2.4 小结 第3章 WDF概述 3.1 主要特点 3.2 框架视图 3.3 兼容性 3.4 对象模型 3.5 驱动对象和设备对象 3.6 IO模型 3.7 PNP和电源模型 3.8 小结 第4章 WDF USB设备驱动开发 4.1 USB设备硬件结构 4.2 USB软件结构 4.3 内核开发 4.4 数据I/O操作 4.5 设备控制 4.6 用户程序 4.7 小结 第5章 WDF 1394驱动开发 5.1 1394一席谈 5.2 发送请求 5.3 总线重置与计数 5.4 PNP操作 5.5 异步通信 5.6 等时通信 5.7 其他操作 5.8 安装与测试 5.9 小结 第6章 内核驱动C++编程 6.1 驱动中的类 6.2 类封装的驱动程序 6.3 多态 6.4 小结 第7章 WDF驱动测试 7.1 WDF错误 7.2 WDF扩展调试命令 7.3 WDFTester 7.4 WDFVerifier 7.5 小结 第8章 调试命令详解 8.1 概述 8.2 符号与源码 8.3 进程与线程 8.4 断点 8.5 内存命令 8.6 小结 第9章 内核同步 第10章 音频驱动开发 第11章 ASIO虚拟声卡 第12章 设备驱动安装入门 第13章 深入解析INF文件 第14章 设计驱动安装程序 附录A CY001 USB开发板 附录B VisualKD + VMWare实现单机内核调试
无
准备做PCI驱动开发。本来是有一本朋友给的武安河的Windows设备驱动程序WDF开发,由于从未接触过驱动程序的开发(WDM也没接触过),初步看了一下,简直是噩梦,像天书一般,当然这里不说武安河的书不好,只是如果你没有搞WDM,此书更也不是你学习WDF的材料。Google了一下,大家对于深入浅WINDOWS驱动开发一书还是有比较好的评价的,也大致看了一下,虽然说不太适合入门,但对没用WDM做过驱动开发的我来说,至少能让我知道WDF驱动程序的基本流程。
如果你想直接了解WDF驱动程序的基本结构,可以直接跳到WDF USB设备驱动开发一章,作者把对WDF驱动程序结构参插在了USB驱动开发这一章了。
总的来说,此书对我还是帮助不小的。
之前买了另外一本WDF的书,内容比较粗浅,但还挺适合入门。旱听说要出竹林蹊径,现终于等到了。可肯由于太菜,初读下来,好多地方仍不明白。但经又细细读了几遍,再加网上查找了一些资料后,对WDF框架有了更深的了解,相信对实战会有帮助。
感谢作者的辛苦和智慧。对我来说就是一场及时雨,工作1年了,从我对公版驱动做二次打包到研究asio的实现,这个过程用到的知识在这本书上都能找到很详细的讲解。很适合我这种对驱动开发有兴趣,但又缺乏资料和指导的初学者。书的印刷,纸张都不错,很激动,呵呵,先读了再说。。。
对于学习驱动开发的朋友,建议可以读读这本书,这本书不管是作者的角度,还是语言,个都都觉得很不错,是值得入门的朋友一读的。
从WDM到WDF,用WDF写过PCI/PCI-E之后,发现WDF应该是MOFT做得最漂亮的一件事了.
所以吾以为WDF不论从官方还是个人应用,应该是有前景的.而WDF最好的资料当然是其配套的帮助文档,最好的中文资料当属这本书了.这本书比起帮助文档最大的优点是喜欢挖根究底,不仅知其然,亦要知其所以然.这也是我认为这本书很好的原因.
开发windows驱动具有很大的指导作用。值得购买和收藏。
驱动开发入门经典,值得拥有!
正在学习写驱动程序,给了很大的帮助...对基本框架和功能有着比较详细的介绍
驱动方面的经典,windows驱动编程方便的必读必看!
windwos驱动方面的书还真不多,我读了近100页,感觉不错,能让人有所收获,当然我还是菜鸟
可以研究64位驱动了。
书还没仔细看,不过封面做的精致,内容写的还行,可以收藏
文章还好,有点生涩,可能是不太善于做文字方面的描述;抑或是我自身思维模式和作者的区别 ,在理解上有时会有一点偏差。对细节描述不够详尽。还有就是没有相对完整的代码。
不太容易上手。
但还是支持作者,毕竟在这方面的中文资料是在是太少太难了。希望多有这样的书籍。
应该挺好的吧,大家都这么说。自己看了些,深得不适合入门,还是先看寒江独钓比较好!
这本书可以和天书夜读和寒江独钓一起读,三本书成为一个系列,互有帮助。
书是正版书,内容还没有看,看网上评价挺好就买了,希望对自己有帮助。
送货的速度是一流的,书的质量也很好,现在还没来得及看,具体内容讲解如何,得等看完了再说。
内容比较新颖,比较实用,受益匪浅。
很不错的一本书,只是暂时没时间看。
讲解透彻,感觉很也挺全面的,没有让你看了就觉得头晕的感觉。很容易让你理解其中的含义,配合练手应该是不错的
书还可以,不过需要有些基础
买了还没看,但是从整个系列来说,这书不会差
牛人的牛书,值得看
支持原创,书送的很快,相信当当。
帮人买的,听说非常不错。
好书一级棒
还没有细看,看起来不错
还没到手......期待下........
灌水啊
但是要时间来看
还没来的及阅读。
因为还没有看所以不能说什么,但整体看起来不错,难度有些,得好好学。。。
送货相当快,北京离石家庄倒是近啊。
符合初学者,对于开发有一定的参考意义。
但是对于WDK,wdf等深入不够。。。
倾向于驱动开发,没想到是最先进的东西,有点吃惊
驱动开发,本来想买寒江独钓那本,买错了!!
windows驱动编程的书挺少的
这本书是在老师的推荐下买的,结果买来之后发现并没有自己想要的内容,但书本身还是可以的
很适合初学者的入门教程
对vista部分介绍的不够多。音频部分以xp为主,但vista之后变化非常大。
这书还行,可以下载源码,地址真实存在。
还好,粗看了一下,理论写得很详细,例子偏少,也可能是作者的思路有所偏重,该详则详,该细则细,使书本显得精炼吧。
还行吧,感觉比看外国人写的习惯些。
但是开始没注意,不太适合我
确实是天书系列,适合一人静心潜心研读。
这书没有以前的写得好,但没办法,又没别的好书了
看到同事有,看了下,不错,自己也买本收藏。
还没看完,但是有些地方感觉还是有些难懂
本来是要做1394驱动的,发现这本书有专门的一章写1394驱动的开发,所以马上买了。原以为书上会一步一步介绍如何做个1394驱动,最好还有个例子,买回来才发现根本不是那么回事。书上尽是一些对源代码的分析,或许正是书名上所说的“深入”,对一个刚入门的人来说完全看不懂,甚至连开发环境怎么用都弄不懂。
还有就是虽然这本书极力鼓励大家要从WDM转向WDF,但是如果你没搞过WDM,这本书也不是你学WDF的材料,书上很多都是在说WDM和WDF的对比,所以没弄过WDM的人是看不懂的。
总结起来,这本书适合对WDM有过经验,还看过其他WDF基础书籍,并对WDF也有过相关经验的人看。对一个刚入门驱动开发的人来说,这本书离我好远……
以上观点都是我个人的实际感受,希望对像我一样刚入门驱动开发的人有些启示,如果冒犯了作者还望作者原谅。或许这本书对驱动开发的资深人员来说是本好书。
我一次买了好几本驱动开发相关书籍,天书夜读,寒江独钓,和竹林蹊径,其余两本都非常不错,只有本书,还云里雾里,翻了几遍了,没看出个所以然来...WDF依然连最基本的都不会...慢慢研究吧
本来打算买过来作为WDF入门书籍的。翻了下,发现这是一本学究气很重的书。作者一会儿说说这,一会儿说说那,好象什么都懂一样,但老是不说到正题上。
我说的正题就是,给我一个简单可以自己试验的WDF例子,告诉我如何编译,如何安装和测试。先把简单例子运行起来,让读者一旦有了个初步的认识之后,才能进入更深入的细节和技巧。这就是教育学上的循序渐进。所以说,这本书不是适合初学者。还不如,直接看WDK文档和下面的例子。
不过公正的说,对于希望深入了解WDF的读者,这本书应该有用。有不少作者的工作经验在里面。
内容上从第一步到最后一步都有涉及,还行。
不过发现有些东西和别的书貌似重复较多,么有什么独到的见解在书里。
不过入门还是可以了。
还没看呢 看书的内容还行
今天刚拿到书,随意翻阅了一下内容看起来还不错,可是书的包装让我有步不爽,新书竟然破了一块;
本来打算换的,后来想想我看的是内容,又不是什么表面也就算了;
只希望以后买的书包装好一点,至少有个好心情去看书;
看了一半,还没完全看完,基础不是很好,没能看懂
比书城便宜1
这个是对于有相对基础的人学习的
入门的朋友千万不要买这本书
竹林蹊径:深入浅出windows驱动开发
WDF驱动开发入门
可以,书的材质还行
这个是给公司买的
驱动经典书