1. 以win2003 DDK为例,默认安装在C:/WINDDK,其下有目录3790.1830,我装在F:/WINDDK下面。每个版本的DDK的这个目录名都不一样,如XP版本的为2600,vista版本的为6000。注意下面几步中用到这个目录名都得对应。
2. 添加“系统变量”WXPBASE,设置值为“F:/WINDDK/3790.1830”。具体步骤略。
3. 将ddkbuild.bat和ddkbuild.cmd拷贝到F:/WINDDK下。
4. 安装DDKWizard,一路next即可。
5. 打开VS2005/2008。“工具”->“选项”->“项目和解决方案”->“VC++目录”,按照右上角的内容进行
如下设置。
环境已经搭建完成,现在我们来创建一个Driver工程。
1. 新建一个项目,选择“DDK Project”,模板选择“Driver”。
2. 设置工程属性。根据操作系统选择DDK的版本,一般高版本的DDK都向下兼容,也就是包含低版本操作系
统所对应的DDK,所以本文中选择的win2003版本的DDK肯定支持XP操作系统。左下角选择第3、4项。
3.“Finish”之后,VS2005/2008就直接生成一个驱动框架,提供了最基本的入口函数和派遣函数。这就像
用VS2005/2008生成一个MFC框架一样。
4. 现在就可以直接进行编译。编译结果如下。
1>------ 已启动生成: 项目: Driver1.WXP, 配置: WXP checked Win32 ------
1>正在执行生成文件项目操作
1>OSR DDKBUILD.CMD V7.3/r27 (2008-09-06) - OSR, Open Systems Resources, Inc.
1>DDKBLD: >> Setting custom environment variables [ddkbldenv.cmd] ...
1>DDKBLD: << Finished setting custom environment variables [ddkbldenv.cmd] ...
1>DDKBLD: >> Performing pre-build steps [ddkprebld.cmd] ...
1>DDKBLD: New build number is 2 ...
1>DDKBLD: << Finished pre-build steps [ddkprebld.cmd] ...
1>DDKBLD: WXP (checked) using the Windows XP DDK and %WXPBASE%
1>DDKBLD: Directory: F:/开发/projects/驱动/Driver1/Driver1
1>DDKBLD: WXPBASE: F:/WINDDK/3790~1.183
1>DDKBLD: Run build -MI -Ze for checked version in .
1>BUILD: Adding /Y to COPYCMD so xcopy ops won't hang.
1>BUILD: Using 2 child processes
1>BUILD: Object root set to: ==> objchk_wnet_x86
1>BUILD: Compile and Link for i386
1>BUILD: Examining f:/开发/projects/驱动/driver1/driver1 directory for files to compile.
1> f:/开发/projects/驱动/driver1/driver1
1>BUILD: Compiling (NoSync) f:/开发/projects/驱动/driver1/driver1 directory
1>Compiling - drvversion.rc for i386
1>Compiling - driver1.cpp for i386
1>BUILD: Compiling f:/开发/projects/驱动/driver1/driver1 directory
1>BUILD: Linking f:/开发/projects/驱动/driver1/driver1 directory
1>Linking Executable - objchk_wnet_x86/i386/driver1.sys for i386
1>BUILD: Done
1> 3 files compiled - 1 Warning
1> 1 executable built
1>DDKBLD: Build complete
1>DDKBLD: Building browse information files
1>DDKBLD: >> Performing post-build steps [ddkpostbld.cmd] ...
1>DDKBLD: << Finished post-build steps [ddkpostbld.cmd] ...
1>生成日志保存在“file://f:/开发/projects/驱动/Driver1/Driver1/BuildLog.htm”
1>Driver1.WXP - 0 个错误,个警告
========== 生成: 1 已成功, 0 已失败, 0 最新, 0 已跳过==========