准备开始window下的驱动开发了。
先转个文章热身热身,学前班。
DDK是什么,驱动是否都要用DDK写
DDK是什么,驱动是否都要用DDK写 收藏
DDK是Device Development Kit,设备开发包的意思。如果你想开发一个设备驱动程序,如显卡驱动程序,就必须使用DDK。DDK没有包括在VC++中,其主页为http://www.microsoft.com/whdc/devtools/ddk/default.mspx,通常需要定购MSDN才能获得。你也可以下载KMDF(http://www.microsoft.com/whdc/driver/WDF/KMDF_pkgdwn.mspx?),其中包括了Windows Server 2003 SP1的DDK。Windows 98的DDK可以从http://download.microsoft.com/download/win98SE/Install/Gold/W98/EN-US/98DDK.EXE下载。
驱动编写可以分多种情况,下面分别讨论:
1、串口通讯。
Windows自身带有串口通讯的API,所以一般串口通讯不需要编写单独的驱动程序,只需要调用系统功能就可以了。VB带有MSCOMM控件(QA000388 "MSComm无法在中文Windows 95下传递二进制数据"),而VC++可以参考QA000162 "在VC中如何开发串囗",Delphi可以参考QA002595 "在Delphi中怎样控制 Modem"。绝大多数串口外置的MODEM的驱动程序就是一个.inf文件(这个文件的规范在DDK中有说明),而没有实际的驱动文件。不过软猫不能使用这个办法。如果ISDN设备是通过串口的,也可以仿照MODEM编写这样的串口文件(当然如果要支持CAPI,就编写使用CAPI SDK编写驱动程序)。
2、使用现成的驱动软件包。
如果你的硬件是比较简单的数据采集卡这样的硬件,也可以使用一些现成的驱动软件包,这些软件包提供了一些基本的硬件操作功能,这样你可以免除使用DDK开发的苦恼。而且这些工具多数支持Delphi、VB、C++ Builder这样的软件,这样可以解决这些软件无法调用DDK编写驱动的问题。可以参考QA000335 "如何在VB中如何控制端口和物理地址"。这样的商业工具包括NTPort Library(http://china.zealsoft.com/cn/ntport/)、MemAccess Library(http://china.zealsoft.com/cn/memaccess/)、WinDriver等。
3、使用DDK编写
如果前两种情况都不适用,你就需要使用DDK编写了。每个Windows版本都有对应的DDK,其主页为http://www.microsoft.com/whdc/devtools/ddk/default.mspx,通常需要定购MSDN才能获得。你也可以下载KMDF(http://www.microsoft.com/whdc/driver/WDF/KMDF_pkgdwn.mspx?),其中包括了Windows Server 2003 SP1的DDK。Windows 98的DDK可以从http://download.microsoft.com/download/win98SE/Install/Gold/W98/EN-US/98DDK.EXE下载。。当然你应该根据自己使用的操作系统进行选择。Win9x的主要驱动都是VxD类型的,可以在Win95/98/Me下使用,但不能在WinNT/2000下使用。WinNT的驱动一般都是.sys文件,Win2000可以兼容WinNT驱动,但一般不能在Win9x下使用。所以如果你要支持Win9x和WinNT,需要编写两类驱动程序。USB设备的驱动程序是WDM类型的,扩展名为.sys,但只能在Win98/Me/2000下使用。
Win98 DDK和Windows 2000的DDK安装比较简单,而且和VC++配合的比较好,最好使用这两个DDK包。Win95 DDK和WinNT DDK默认安装需要Win32 SDK,如果没有,需要手工修改环境变量或SETENV.BAT,略微麻烦一些,最好不使用。除了安装DDK,还需要VC++进行编译,最好是VC++ 6.0。其他软件都不是必须的。当然,最好有SoftICE作为调试工具。
驱动的编写同一般程序有很大不同,所以建议买本书,参考QA001005 "有关DDK编程的书籍"。你也可以参考QA002697 "PCI设备Windows通用驱动程序设计",以了解一个大概。
此外,也有一些DDK的增强工具,如DriverWorks(http://www.numega.com/),这个软件和DDK相比,就如同MFC和API。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jiazhen/archive/2006/12/07/1433360.aspx
分享到:
相关推荐
该期刊主要讲解DDK下打印机驱动程序开发的方法。
用DDK开发WindowsUSB驱动程序_杨成
用DDK开发驱动程序
WDM驱动开发协议驱动程序.zip
DDK编写的PCI驱动 ,代码完善,并有注释。利于学习。
因为csdn只有20M的上传限制,所以只好存到个人的迅载网盘里 供大家免费下载 不过迅载网盘下载会有一次的弹出广告,请个人忍耐
用DDK编写驱动程序.pdf
学习驱动开发详解必备工具,请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请感谢我!请...
DDK开发协议驱动程序编程内容,如果想了解或提高ddk开发能力的。
windows ddk kmdf驱动示例代码,不愿下载WDK的同学们可以看下这个。
ddk中文文档,ddk是windows下的驱动开发包
window ddk 驱动开发文档
有些软件开发人员习惯于使用Driver Studio来编写设备 驱动程序,因为它产生的代码是C+十风格,并且由于它的封 ...用了DDK开发方案。 下面通过实例来介绍一下使用DDK开发Windows操作系 统下的USB设备驱动程序的过程。
很不错的驱动开发工具,由于上传大小限制,分为4部分,此为第1部分!
ddk 库和头文件ddk 库和头文件ddk 库和头文件ddk 库和头文件
中文版DDK,win2000驱动程序设计指南
PDIUSBD12 DDK驱动源代码 请安装相应的ddk后,执行build进行编译
用vc6编译ddk驱动的设置,讲得相当纤细 绝对经典 男的资料
设备驱动程序开发>>一书的CharFilter驱动是用第三方的开发包写的,我将这个驱动改成用DDK开发的,包括CharSample驱动和CharFilter驱动源代码,有兴趣的可以看下过滤驱动和驱动例子。
一个WindowsXP 平台下使用DDK开发硬盘驱动程序的最简单的Demo,是本人操作系统课程设计时用到的,希望对驱动开发初学者有所帮助!