分享
 
 
 

使用DriverStudio开发WDM设备驱动程序入门

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

编者按:本文的内容主要由DriverStudio的随机文档翻译整理而来。本文的读者最好有以下软件:DriverStudio2.5,Visual Studio6.0,以及Windows 2000 DDK。本文假设你已安装了这些软件。DriverStudio2.5可在驱动开发网(www.Driverdevelop.com)下载到测试版,Windows 2000 DDK可在微软的网站免费下载,Visual Studio 6.0 需要购买。

作者:杨军 E-mail:y9980@263.net

用DriverWorks为 Windows 98 , Windows Me, Windows NT , Windows 2000 ,和 Windows XP 开发驱动程序

简介

DriverWorks 通过提供强大并且先进的代码生成向导——DriverWizard,还有库和例子中成千上万行经过严格测试的代码,简化了设备驱动程序的开发。

Windows NT 和 WDM 驱动程序接口为面向对象方法的应用提供了良好的条件。DriverWorks 充分利用操作系统面向对象的优良特性,与微软的 DDK 相比,它为设计基于 Windows NT 和 WDM(驱动程序设计模型)的驱动程序提供了更加友好的方式。使用 Driverworks,设计人员能以更快的速度开发 NT 和 WDM 驱动程序。在大多数情况下,DriverWorks 函数库的使用,可以大大减少驱动程序的代码长度。利用这些精心设计的函数,你几乎可以完成所有的工作。当然,DDK的C语言级的API函数也是可用的。

注意:Windows NT 设备驱动程序能运行在 Windows NT 或 Windows 2000 上;而 WDM 设备驱动程序能在 Windows 98 , Windows Me ,Windows 2000 ,和 Windows XP 上运行

DriverStudio把那些每个驱动程序都需要的代码都封装成类库。库代码自动地处理例行的操作,这极大地简小了任务的复杂度。

而且,C++编译器提供了ANSI C 所不具备的优点: 包括改进的类型安全检查,内连函数优化,以及更好的代码组织。

DriverWizard——DriverWorks 的代码向导,与微软的Visual C++ 紧密的集成。超过1500行的驱动程序源代码框架只需几次鼠标点击就可完成。这些代码还包含了详细的注释。另外,DriverWizard 还能生成专为特殊设备定制的代码,比如:USB设备,PCI设备,即插即用设备,ISA 设备,等等。

DriverStudio对Microsoft Developer Studio 的支持远不止用 DriverWizard 构造一个新工程这么简单。DriverWorks 提供了完整的和Microsoft Developer Studio 相似的开发环境,包括 checked 和 free 编译环境,相似的代码编辑器,错误代码定位,以及类浏览器。

编译库

在你利用DriverWorks开始工作之前,你必须编译需要的库文件。你可以在Microsoft Visual Studio 环境中,或者用命令行方式编译库文件。

下面介绍怎样在VC环境中编译库。

1.启动Visual C++ 。

2.选择菜单 File|Open Workspace。打开位于DriverStudio\DriverWorks\Source\vdwlibs.dsw的工作空间文件。

3.选择菜单 Build|Batch Build,在弹出的对话框中选择你想编译的库。

4.点击Build编译你选择的库。

怎样用命令行方式编译库,这里省略。

测试你的安装

如果你想用命令行(不是在Microsoft Visual Studio中)编译一个简单的驱动程序例子,你必须先运行两个批处理文件(后缀为.bat的文件),这两个文件在DDk和Visual C++中。你也可以简单的通过运行开始菜单 程序/Development kits/Windows 2000 DDK 中的 Checked Build Environment 或 Free Build Enviroment 来完成此操作。

第一批处理文件是 SETENV.BAT ,并且它要求 2 个参数:第一个是DDK 的根目录,第二个是"free" 或 "checked"。第二个参数告诉编译系统是否在驱动程序中加入调试信息。第二批处理文件是 VCVARS32.BAT ,它为编译器建立路径。

编译例子程序

对 Windows NT 4.0来说,最简单的例子在DriverStudio\DriverWorks\Examples\NT\HELLO 文件夹里。你可以编译这个例子,然后用DriverMonitor装载它

对 WDM 驱动程序( 用于Windows 98 , Windows Me, Windows 2000 ,和 Windows XP ),最简单的例子在 DriverStudio\DriverWorks\Examples\WDM\HELLOWDM 文件夹里。你编译它,然后用控制面板里的添加新硬件向导来加载。

如果你有 Microsoft Visual C++ 5.0 或更新的版本,你可以打开工作空间文件%DRIVERWORKS%\examples\nt\hello\hello.dsw ,然后在Visual C++环境中编译。编译WDM 驱动程序,请用 HELLOWDM 例子。

如果你想从命令行编译,请按下面的方法设置工作目录,然后运行Build程序编译:

cd\ProgramFiles\Numega\DriverStudio\DriverWorks\ examples\nt\hello

build

请查看输出文件“ build.log ”(或“ buildchk.log ”或“ bldfre.log ”)看是否有错误。

在Windows 98和Windows Me 中装载驱动程序

首先拷贝HELLOWDM.INF文件到系统文件夹。然后打开控制面板,运行添加新硬件向导。在添加新硬件向导的第一步中,选择从“列表中选择硬件”,注意HELLOWDM在其他硬件中。当询问制造商时,选择从磁盘安装,定位到INF文件所在的目录。如果你在安装时运行了DriverMonitor,你将会看到驱动程序弹出的消息。安装完成后,打开控制面板中的系统图标,安装的设备会出现在设备管理器中。

在Windows NT, Windows 2000, 和 Windows XP中加载驱动程序

对于Windows 2000 和 Windows XP中的WDM 驱动程序,方法与前面介绍的类似。

对于Windows NT ,Windows 2000和Windows XP上的非WDM 驱动程序,运行 DriverMonitor 证实你的驱动程序工作正常。请注意 HELLO.SYS 将被创建在.\I386\*目录,此出的*取决于你的编译环境是 checked 还是 free。

当你从 DriverMonitor 装载 HELLO.SYS 时,你应该在窗口中看到确认信息,然后是驱动程序发出的HELLO消息。

注意:在 Windows NT 下装载设备驱动程序,你需要以管理员帐户登录。

如果你没有足够的权限安装内核模式驱动程序,DriverMonitor 会提示错误消息。

在从 DriverMonitor 退出前,请卸载驱动程序。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有