为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

驱动是否都要用DDK写

2010-05-30 4页 doc 57KB 19阅读

用户头像

is_679365

暂无简介

举报
驱动是否都要用DDK写 编号: QA003863     建立日期: 2001年2月11日 最后修改日期: 2001年2月11日 所属类别: C/C++ - DDK与硬件设备         本问题涉及的操作系统 win9x     本问题涉及的编程工具 C++builder & vc     遇到的问题     我是一个想写驱动的程序,在Win9x 中的驱动是否都要用DDK写?怎样安装?在那些环境下运行?(ma jn)         驱动编写可以分多种情况,下面分别讨论:     1、串口通...
驱动是否都要用DDK写
编号: QA003863     建立日期: 2001年2月11日 最后修改日期: 2001年2月11日 所属类别: C/C++ - DDK与硬件设备         本问题涉及的操作系统 win9x     本问题涉及的编程工具 C++builder & vc     遇到的问题     我是一个想写驱动的程序,在Win9x 中的驱动是否都要用DDK写?怎样安装?在那些环境下运行?(ma jn)         驱动编写可以分多种情况,下面分别讨论:     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中如何控制端口和物理地址"。这样的商业工具包括DriverAgent(http://www.numega.com/)、WinRT(http://www.bluewater.com)、WinDriver等。     3、使用DDK编写     如果前两种情况都不适用,你就需要使用DDK编写了。每个Windows版本都有对应的DDK,你可以在http://www.microsoft.com/ddk下载。当然你应该根据自己使用的操作系统进行选择。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。    相关书籍:     《WINDOWS设备驱动程序技术内幕 》     《实用技术:WINDOWS NT与WINDOWS 2000设备驱动及开发》     《Windows 设备驱动程序(VXD 与 WDM)开发实务 含盘》     《虚拟设备驱动程序开发起步与进阶》     《WIN 9X虚拟设备驱动程序编程指南》     《串行端口大全》     《Delphi 串口通信编程》 如何在VB中如何控制端口和物理地址 编号: QA000335     建立日期: 1999年1月13日 最后修改日期: 1999年10月16日 所属类别: Visual Basic - DDK与硬件设备         工具:VB5.0     操作系统: Win95     在VB5.0中,我想控制几块插在主板上的版卡,可是不知道在vb5.0中如何对底层进行操作,一般情况下是用VC 或者Delphi写一个DLL,然后用VB调用DLL,可是直接用VB能控制吗?VB能不能直接读写口地址,直接写物理上的地址,如果你有这方面的信息或者有现成的关于底层控制的DLL,请发相关信息给我,多谢。(李锋)         VB没有函数直接控制端口和物理地址,必须借助外部DLL。端口操作比较简单,在C语言里有现成的函数。VB的用户可以在热情软件屋下载VBIO.DLL(http://zealsoft.nease.net/cn/vbio/)或NTPort Library(http://zealsoft.nease.net/cn/ntport/)。     写物理地址比较麻烦。你可以在热情软件屋下载MemAccess(http://zealsoft.nease.net/cn/memaccess)。如果你要自己做,就需要花一些时间学习设计设备驱动(这是个很大的话题),要使用DDK来做。设备驱动主要的工作是利用DDK提供的函数将物理地址转换为用户程序的线性地址。在Win95/NT下,每个用户程序都运行在自己的线性地址空间中,内存可能是实际物理内存也可能是虚拟内存。而硬件地址一定是物理内存,所以需要进行这种转换。建议参考QA001861 "Windows 3.X和Windows 95下如何直接存取物理地址"。          相关书籍:     《WINDOWS设备驱动程序技术内幕 》     《实用技术:WINDOWS NT与WINDOWS 2000设备驱动及开发》     《Windows 设备驱动程序(VXD 与 WDM)开发实务 含盘》     《虚拟设备驱动程序开发起步与进阶》     《WIN 9X虚拟设备驱动程序编程指南》
/
本文档为【驱动是否都要用DDK写】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索