分享
 
 
 

在Visual Studio 6.0集成环境中开发设备驱动程序的方法

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

正文:

在Visual Studio 6.0集成环境中开发设备驱动程序的方法

在Windows上,Windows DDK提供的开发环境是基于命令行的,操作起来极为不便,相信进行过驱动程序开发的朋友一定对此深恶痛绝。另一方面,Visual Studio 6.0却给我们提供了非常友好易用的集成环境,让我们有如虎添翼之感。

那么,能否利用Visual Studio的集成环境来开发驱动程序呢?笔者经过多方探索,并结合自己开发驱动的经验,摸索出了一套实用的方法,通过对Visual Studio集成环境的简单设置,创建了自己的驱动开发集成环境了。下面笔者的一些经验奉献出来与大家共享,如有不当,欢迎指正。

0.系统要求已安装

DDK

Visual C++6.0(安装时选上所有工具)

1.改造ddk\bin\setenv.bat

把要求mstools的有关语句注释掉(若想在命令行环境开发驱动则还需加入call VC_DIR\VC98\Bin\Vcvars32.bat),以便能在命令行使用vc的相关工具;若只想在IDE环境开发就不必调用Vcvars32.bat,因为相关工具的路径信息可以在vc环境中设置.)

2.创建一个目录DriverEnv(目录名随意),作为你开发驱动的大本营

3.在该目录下创建一个批处理文件MakeDrvr.bat,内容如下:

@echo off

if "%1"=="" goto usage

if "%3"=="" goto usage

if not exist %1\bin\setenv.bat goto usage

call %1\bin\setenv %1 %4

%2

cd %3

build -b -w %5 %6 %7 %8 %9

goto exit

:usage

echo usage MakeDrvr DDK_dir Driver_Drive Driver_Dir free/checked [build_options]

echo eg MakeDrvr %%DDKROOT%% C: %%WDMBOOK%% free -cef

:exit

该批处理首先对传递的参数作一些检查,然后调用ddk的setenv命令设置环境变量,然后改变目录为源程序所

在驱动器和目录,并最后调用build,-b保证显示完全的错误信息,-w保证在屏幕上输出警告,在vc ide里的output窗口中可以看到这些错误和警告。

4.建立一个空白工程

选File的new菜单项,然后选project栏的makefile,然后输入路径,一路next下去即可,visual studio提供两种配置win32 debug和win32 release.

5.修改这两种配置

选project的settings菜单项win32 debug:

在Build Command Line一栏填入MakeDrvr DDK_DIR SOURCE_DRIVE SOURCE_DIR checked [build options]

在Rebuild all options一栏填入 -nmake /a

在output file一栏填入与sources文件中的TARGETNAME相同的文件名

在Browse info file name一栏填入obj\i386\checked\(与TARGETNAME相同的文件名,见下述).bsc

win32 release:

在Build Command Line一栏填入MakeDrvr DDK_DIR SOURCE_DRIVE SOURCE_DIR free [build options]

在Rebuild all options一栏填入 -nmake /a

在output file一栏填入与sources文件中的TARGETNAME相同的文件名

在Browse info file name一栏填入obj\i386\free\(与TARGETNAME相同的文件名).bsc

注:DDK_DIR一般可以写成%BASEDIR%,build options一般为-cef即已足够

6.添加源文件到工程

可以新建,也可以添加,这和普通的win32开发一样。

7.添加资源文件

选INSERT的RESOURCE菜单项即可

8.把文件makefile放入源程序目录,其内容总是

#

# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source

# file to this component. This file merely indirects to the real make file

# that is shared by all the driver components of the Windows NT DDK

#

!INCLUDE $(NTMAKEENV)\makefile.def

9.把文件Sources放入源程序目录,内容为

TARGETNAME=RamDrive//这是要生成的驱动程序.sys文件的名字

TARGETPATH=obj //.sys文件所在目录的上层目录,(由于ddk的bug)应手工在obj目录下创建checked和free目录,以作为.sys的最终存放目录

TARGETTYPE=DRIVER //驱动程序的类型,一般不变

INCLUDES=$(BASEDIR)\inc //ddk包含文件路径,一般不变

SOURCES=RamDrive.cpp RamDrive.rc //源文件(不要头文件),资源文件

BROWSER_INFO = 1 //若想要浏览信息,则要有本行;否则可无

10.因为MakeDrvr.bat在DriverEnv目录,所以应把该目录添加到vc的Executable files里面

选tools的options菜单项,然后选directories页,在show directories for一栏选择Executable files,然后添加即可.

至此,环境设置完毕,你可以按F7, build你的驱动程序了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有