驱动程序开发入门

Bil*_*eal 20 c++ windows driver

有没有人有任何书籍/教程可能对Windows设备驱动程序开发有用?

对于简单的Win32/GUI开发,Petzold的书似乎是必不可少的参考.这样的司机是否存在?

我想要注意的是,我实际上并不是在谈论硬件 - 我实际上想要用软件模拟一块硬件,但我想首先看看事情是如何工作的.

Billy3

Chr*_*isW 11

需要注意的一件事是设备驱动程序开发(体系结构和工具)的变化比Win32开发更多......所以虽然Petzold的20世纪90年代的书对Win32来说很好,可能被认为是一个永恒的经典,多种驱动程序的架构(打印机驱动程序,网络驱动程序等)在各种O/S版本中有所不同.

这是一篇评论各种书籍的博客文章:Windows设备驱动程序书评.

不要忘记DDK附带的microsoft文档:最重要的是,DDK附带的示例驱动程序(源代码).例如,当我想编写模拟串行端口驱动程序时,我发现样本串行驱动程序文档与DDK文档相结合是非常宝贵的(并且足够).


Pet*_*eoh 6

要学好内核开发:

一个.大量的示例内核程序:

Windows DDK示例:

http://social.msdn.microsoft.com/Forums/en-US/softwaretesting/thread/08690203-1757-4129-b59a-6bae10bcdce8/

WDK样本:

http://msdn.microsoft.com/en-us/windows/hardware/gg487428

或者只是搜索:

http://www.google.com/search?q=windows+ddk+samples

(因为上面的网址可能会更改,但Google可能会返回最合适/可访问的网址)

湾 很多调试技术,其中我发现最好的是VMware(或VirtualBox)+ windbg +串口调试:

http://www.google.com/search?q=windbg+vmware+kernel+debug

本文是使用VMWare + windbg(Lord of the Ring0)的经典之作:

http://silverstr.ufies.org/lotr0/windbg-vmware.html

C.以及其他人构建的系统管理工具:

http://technet.microsoft.com/en-us/sysinternals/bb545021

(过去称为SysInternals,由Mark Russinovich建造,是"Windows Internal"的合着者 - 必读!)

http://technet.microsoft.com/en-us/sysinternals/bb963901

从这些工具你将有巨大的调试选项.

d.加入OSR邮件列表(ntdev尤其非常活跃,但还有其他像windbg):

http://www.osronline.com/page.cfm?name=ListServer

即 在channel9观看大量与windows +内核相关的视频(google返回超过1000个链接):

http://www.google.com/search?q=site:channel9.msdn.com+kernel+video&num=100

F.讨论论坛如:

http://social.microsoft.com/Forums/en-us/kernel/threads

http://social.msdn.microsoft.com/Forums/en-US/wdk/threads

也订购了免费的OSR杂志(硬拷贝).从1998年到现在,我收到了我的 - 它是在地球中途送出的!