要想开发wdm驱动程序,我们必须首先安装ddk(设备驱动程序开发包),wdm开发环境的设置相对比较麻烦,大多数开发人员偏爱用visual studio进行开发,而vc++有一些非常有用的工具。
■安装ddk
下面笔者将详细介绍在windows 98、windows nt和windows 95下ddk的安装方法。
1.windows 98 ddk的安装
这一部分描述安装windows 98 ddk的方法。约定%98ddk%为安装的windows 98 ddk的根目录;%mstools%为微软sdk平台的根目录;%vcppdev%为安装的vc++的根目录开发环境。
使用ddk的软件平台通常为windows 98操作系统和vc++ 4.2 or 5.0版本,若要编译视频捕获则需要vc++ 5.0版本。在安装windows 98 ddk之前,必须先安装vc++编译器/开发环境,否则运行时,windows 98 ddk的setenv.bat批处理文件将不能建立正确的环境。安装ddk 资料需要ie 4.01或以上版本,如果是从光盘或测试驱动程序则需要光驱,16mb内存是不可少的,完整安装需要82mb硬盘容量。
包括windows 98 ddk在内的所有例子驱动程序都不需要在安装的sdk平台下构造。不过,如果你开始开发自己的驱动程序,可能需要的不是windows 98 ddk中的头文件,而是sdk平台中的头文件,因此可以考虑两种方法:拷贝所需的头文件或sdk平台的文件到在%98ddk%和%vcppdev%下适当的include 目录中;也可以直接安装sdk平台,在%98ddk%\bin中编辑setenv.bat文件,并运行安装在%mstools%里的setenv.bat文件。
用setup程序安装ddk,步骤为:
(1)运行windows 98 ddk中的setup.exe文件,安装windows 98 ddk到c:\98ddk。
(2)安装vc++ 5.0到c:\vcppdev。
(3)修改config.sys增大环境变量空间。在config.sys文件最后加入一行:
shell=c:\windows\command.com /e:4096 /p
在安装windows 98 ddk之前,必须先安装vc++编译器/开发环境,否则运行时,windows 98 ddk的setenv.bat批处理文件将不能建立正确的环境。
2.windows 95 ddk的安装
安装windows 95 ddk一般需要先安装win32 sdk,因为windows 95 ddk需要win32 sdk的16位资源编译器。但是win32 sdk很大(一整张光盘的容量),而且国内难以买到,下面笔者介绍一种安装windows 95 ddk的简单方法:
(1)修改注册表,仿真win32 sdk已经安装的情况。建立一个名为win32sdk.reg的注册表文件,内容为:
regedit4
[hkey_users\.default\software\microsoft\win32sdk]
[hkey_users\.default\software\microsoft\win32sdk\directories]
"install dir"="c:\\mstools"
在资源管理器中双击此文件,将此文件中的内容添加到注册表。就可以安装windows 95 ddk了。
(2)运行windows 95 ddk中的setup.exe文件,安装windows 95 ddk到c:\ddk。
(3)安装masm 6.11到c:\masm611。安装完成后再将未安装的windows 95 ddk中的masm611c目录下的文件覆盖到c:\masm611\bin。
(4)安装vc++ 5.0到c:\program files\devstudio\vc。
(5)建立c:\mstools\binw16目录,拷贝资源编译器。
windows 95 ddk需要一个能将win32资源的源文件编译成16位资源的资源编译器。如果有win32 sdk,可以将binw16目录下的文件直接拷贝到c:\mstools\binw16;如果没有win32 sdk,则可以使用第三方的资源编译器,这里以使用borland的资源编译器为例:
首先准备一套turbo masm 5.0,用unpak工具解压缩cmdline.pak文件,找到下面三个文件:
brc.exe
brcc32.exe
rw32core.dll
将这三个文件拷贝到c:\mstools\binw16,并将brc.exe改名为rc.exe即可。
(6)修改config.sys增大环境变量空间。在config.sys文件最后加入一行:
shell=c:\windows\command.com /e:8192 /p
7)进入windows 95的ms-dos方式,初始化编译环境,最好建立一个批处理文件ddksetup.bat,内容编辑为:
set sdkroot=c:\95sdk
call new-vars.bat (masm611的环境)
call ddkenv.bat (ddk的环境)
call vcvars32.bat (vc++的环境)
c:\masm611\binr\new-vars.bat
c:\ddk\ddkinit.bat 32 base
c:\program files\devstudio\vc\bin\
vcvars32.bat
编辑好之后就可以使用windows 95 ddk了,连接时出现的警告可以不理会。
有的ddk里面没有ddkenv.bat的批处理,如果你的ddk是cd版的,请注意保存ddk自带的ddkenv.bat,否则需要自建。ddkenv.bat内容如下:
set ddkroot=e:\95ddk
set include=%include%;%ddkroot%\inc32;%ddkroot%\inc16
set lib=%lib%;%ddkroot%\lib
有的ddk里面没有ddkenv.bat的批处理,如果你的ddk是cd版的,请注意保存ddk自带的ddkenv.bat,否则需要自建。
3.nt ddk的安装
需要准备下列软件:win32 sdk或者platform sdk、nt ddk、vc++ 5.0。具体安装步骤如下:
(1)安装win32 sdk或者platform sdk到c:\mstools。
(2)如果是安装platform sdk,安装完成后请修改注册表:
hkey_current_user\environment ,添加一个“mstools”字符串,值为c:\mstools。
(3)安装vc++ 5.0。
(4)安装nt ddk到c:\ntddk。
■构造环境
下面以windows 98驱动程序构造环境为例介绍建立wdm驱动程序构造环境的方法。
1. 用setenv.bat来安装驱动程序构造环境
创建一个名为“development kits\windows 98 ddk”的程序目录。这个目录包括自由构造环境项和检查构造环境项。每次重启操作系统,在构造驱动程序前,单击这些程序文件夹中合适的一项。这些项调用%98ddk%\bin里的setenv.bat批处理文件来创建正确的环境变量的驱动程序构造环境。
2. 手工运行setenv.bat
在ms-dos提示符下,或在“开始/运行”中使用下列语句:
setenv %98ddk% [free | checked]
例如,在c:\98ddk\bin〉提示符下,键入setenv c:\98ddk free,其中第一个参数指定ddk被安装的文件夹,注意就缺省的安装来说,目的地是\98ddk;可选的第二个参数说明目标构造环境,缺省类型是free。
3. 构造wdm驱动程序
使用一套规则以指定驱动程序怎样被创建,所构造的实用程序可用来在windows 98和windows nt上建造wdm驱动程序平台。
在windows 98 ddk被安装之后,wdm驱动程序构造树的工作例子和组成部分文件在硬盘上就可以得到了。驱动程序构造树根目录在%98ddk%\src。查看%98ddk%\inc里makefile.def文件的内容,以及贯穿驱动程序构造树的各种的dirs文件和源文件的内容,可以利用这些代码作为工作实例。
4.构造驱动程序
在当前目录的驱动程序构造树中创建一个子目录,然后,运行构造实用程序。在构造树的当前目录中,构造实用程序可以自动创建出驱动程序的源代码。构造实用程序在windows 98 ddk例子驱动程序构造树的根目录下(%98ddk%\src)运行。例如,如果仅仅对为声音设备类构造的例子驱动程序有兴趣,可以设置当前目录到%98ddk%\src\audio上,然后,运行构造实用程序。
5.检查windows 98 ddk的安装
经常使用的构造指令形式为build -cz ;从而使构造实用程序做相关文件的扫描,执行完整的创建,并生成错误记录。检查安装的方法为:在\〈destination〉\src目录运行build -cz,构造安装的例子驱动程序源代码的完整集。这个实用程序在构造驱动程序之前构造全部相关文件,自动建立文件关联关系。如果构造没有完成或报告过多的编译错误,则需要确认是否正确执行了以上的安装步骤。
WDM驱动程序设计
来源:程序太平洋
作者:苏金国
时间:2006-11-30
点击:
0
最新评论共有 0 位网友发表了评论
查看所有评论
发表评论
热点关注

