Windows驱动程序开发环境配置

文章描述:-2022年3月28日发(作者:闻捷)Windows驱动程序开发笔记 一、WDK与DDK环境 最新版的WDK 微软已经不提供下载了 这里:https: 可以下 并且这里有好多好东东! 不要走进一个误区:下最新版的就好,虽然最新版是Windows Driver Kit (WDK) 7_0_0,支持windows7,vista 2003 xp等但是它的意思是指 在windows7操作系统下 安装能编写

-

Windows驱动程序开发环境配置2022年3月28日发(作者:闻捷)


Windows驱动程序开发笔记
一、WDK与DDK环境
最新版的WDK 微软已经不提供下载了 这里:https: 可以下 并
且这里有好多好东东!
不要走进一个误区:下最新版的就好,虽然最新版是Windows Driver Kit (WDK) 7_0_0,
支持windows7,vista 2003 xp等但是它的意思是指 在windows7操作系统下 安装能编写 针
对windows xp vista的驱动程序,
但是不能在xp 2003环境下安装Windows Driver Kit (WDK) 7_0_0这个高版本,否则 你在
build的时候 会有好多好多的问题.
上文build指:首先安装好WDKDDK,然后进入开始所有程序
Kits在弹出来
的命令行窗口中输入,让它自动生成所需要的库
如果你是要给xp下的开发环境 还是老老实实的 针对xp的老版DDK吧,并且xp无WDK
版 只有DDK版build自己的demo 有个常见问题: 'jvc' 不是内部或外部命令,也不是可
运行的程序。
解决办法:去掉build路径中的空格。

二、
下载 WDK 开发包的步骤
1、访问 Microsoft Connect Web site 站点
2、使用微软 Passport 账户登录站点
3、登录进入之后,点击 站点目录 链接
4、在左侧的类别列表中选择 开发人员工具 ,在右侧打开的 类别: 开发人员工具 目录
中到 Windows Driver Kit (WDK) and Windows Driver Framework (WDF) 并添加到 您
的控制面板 中
5、添加该项完毕后,选择 您的控制面板 ,就可以看到新添加进来的项了。
6、点击 Windows Driver Kit (WDK) and Windows Driver Framework (WDF) ,看到下面
有下载链接,OK,下载开始。下载后的文件名为:
6.1.6001.18002.081017-1400_wdksp-WDK18002SP_E_ 将近600M大小。


也可以试试这个地址:
http:downloadsen?displaylang=en&FamilyID=36a2630f-5d56
-43b5-b996-7633f2ec14ff 直接点击下载。
三、
安装 WDK 开发包
1、使用虚拟光驱加载下载完成的镜像文件,然后运行
2、选择相应的系统环境,如下图:

3、接触,出现以下画面,在左侧的树形复选框中选择要安装的组件及工具,建议全部安装,
选择好后点击―OK‖~~后面的就简单了~

4、然后一路回车即可。



5、安装过程的注意事项,只有两点:
(1)安装到一个简单一点的路径,避免在特殊情况下需要配置路径时麻烦,比如
C:WinDDK。尤其要避免在路径上有空格,否则可能出现编译问题。
(2)一定要选择完全安装,否则可能错过一些代码例子。
四、驱动开发环境搭建(VS2008+WDK+DDKWzard)
在VS2008IDE中没有提供驱动开发的项目选项,当然可以用普通工程,然后手动在VS
中配制相应的编辑连接以及调试选项,但是如此只来,每次都要重复些复杂的步骤。在
http:网站上发现了一个很好用的辅助工具DDKWizard,能
够方便地对开发环境进行配置,真是适合想我这样懒人啊,工具的作者也自称是因为懒惰才
开发此工具,看来―懒惰是推动科技发展的动力‖一点不假 。



DDKwizard安装需要三个文件:DDKWizard主程序:安装VS2008的项目模板
ddkwizard_
:应该是用VS2008调用WDK编辑编译器的一系列脚本
dkbuild_
:估计也是是用VS2008调用WDK编辑编译器的一系列脚本
ddkbuild_
1、 安装DDKWizard
1) 安装ddkwizard_setup,默认安装,一路ext点过即可,将
与考到WDK的安装目录,或者其它目录也行,只要在后续的
设置就行。如:我将其放在wdk的目录下,如图



2) 设置环境变量
a) 添加相应的环境变量,如要开发XP系统下的驱动则添加WXPBASE,变量值
为WDK的根目录
path :系统变量
需将G:WinDDK添加到Path变量中
否则编译时会出现不到命令的错误
新建系统变量
变量名:WLHBASE ,图中我加了两个,只需第一个即可。
变量值为:G:WinDDK7600.16385.0 修改为你安装的wdk路径
如下图



b) Win7:

如果为其它系统开发驱动则填写相应的环境变量
T 4.0 ———–T4BASE
windows2000—-W2KBASE
windowsXP——-WXPBASE
windows2003—-WETBASE
win72008 R2—-W7BASE




2、 打开VS 2008,菜单―工具‖->―选项‖->左侧―项目和解决方案‖->―VC++目录‖->右侧
―可执行文件‖下拉列表->添加一项D:WIDDK(根据你的实际情况,就是第1步中
与所在的路径),增加WDK的根目录如图:到目
此所有的设置工作都已完成。自定义安装DDK目录的修改DDKW文件内容 替换
c:WIDDK为你DDK安装路径,另替换系统对应支持DDK目录,我的
安装了最新的WIDOWS7的DDK,替换如图所示。




Win7:


3、 编写简单的驱动程序并测试我们的驱动开发环境
1) 在Visual C++选项卡中多了DDK Project的项目类型,选择相应的模板添加我
们的项目,点击确定

2) 确定后出现DDKWzard的项目创建页面,在―Choose the DDKBUILD you
want to use‖中选择―‖或者―‖,在其下面选择我们
要为Who(2000,xp……)开发的驱动。


W7:
替换默认路径c:WIDDK为自定义G:WIDDK

替换默认路径c:WIDDK7600.16385.0 -》g:WIDDK7600.16385.0

这里可以保持默认设置 我这里修改了ddkw的默认设置G:Program
FilesDDKWizardWizardsDriverHTML1033的内容

Which DDK(s)WDK(s) do you want to use:



就是


6、 复制下面的代码:
#include
VOID DriverUnload(PDRIVER_OBJECT driver)
{
DbgPrint(
}
TSTATUS DriverEntry(PDRIVER_OBJECT driver,PUICODE_STRIG reg_path)
{
DbgPrint(
driver->DriverUnload=DriverUnload;
return STATUS_SUCCESS;
}
[
注意:sources文件中TARGETTYPE= 默认生成的代码
需要改为TARGETTYPE=DRIVER SOURCES=默认也为空 我把它改成
SOURCES=即可成功编译出 否则编译成功后你会发现不到驱动文件。
]

1) 在解决方案中便是由DDKWzard为我们自动生成的一个简单的驱动程序框架。
2)




3) 最后点击F6生成解决方案,成功生成后在项目的objchk_win7_x86i386文件
夹下会生成几个文件
—编译生成的2进制文件
—用于调试时使用的符号文件
—–用于调试时使用的符号文件
—就是我们拭目以待的驱动程序文件,终于见到久违的驱动了
~~~!!!

7、 Win2003与VS2005下DDK环境搭建
1) 环境:
安装环境: Windows 2003; 开发环境 vs2005
到迅雷上下载 win2003 DDK iso 的文件
下载Windows Server 2003 SP1
安装 iso 文件格式的 DDK
安装Windows Server 2003 SP1

2)
安装DDK后,去http: 下载ddkwizard_setup_v1.2.0a、
ddkbuild_、ddkbuild_。

3)
拷贝 和 到DDK安装根目录,如我的是
C:WinDDK。将上述文件( 和 )的路径添加到
系统的path变量(右击我的电脑,系统属性高级环境变量系统变量path变量双击修
改值)。

4)
根据你所安装的DDK的不同版本添加不同的变量到系统变量中。
右击我的电脑,系统属性高级环境变量系统变量新建:
2000 DDK则变量名为: W2KBASE
XP DDK则变量名为: WXPBASE
2003 sp1 DDK则变量名为: WETBASE
这里我的是WETBASE(值为c:WinDDK3790.1830)


5)
启动vs2005打开菜单中的工具——选项,弹出选项对话框。选择左边的项目和
解决方案——VC++目录,在右边的显示以下内容的目录下拉列表中选择可执行文
件,在下面列表框中添加上面文件所在的路径(这里是
C:WinDDK),同样设置包含文件和库文件

设置可执行文件(c:WinDDK)
设置包含文件(cWIDDK3790.1830incwnet)
设置库文件(cWIDDK3790.1830libwneti386)

6)
开始安装DDKWizard,在安装的最后一步你可以选择编辑ddkwizard的配置文
件。现在重新打开VS2005会发现在新建项目里面有DDK Project的选项了,里
面就可以建立驱动工程来编写驱动程序了。

7)
比较成功的安装方法链接:

http:wangyue4archive20091215

8)
将驱动程序的所有源文件加入项目中。

新建DDK Project 之后修改SOURCE 文件:
其中TARGETTYPE= 后面加DRIVER ;
加入以下两行:
DDKROOT=D:WIDDK2600; # 这里要和安装目录一样
ICLUDES=$(DDKROOT)inc;
加入[ 源文件] 后还要在sources 文件里的SOURCES= 后面加上[ 源文件名] 。比如:
SOURCES=
9)
程序调试成功后,也许会弹出 一个可执行文件的对话框,这时在文件的I386,下
查到 tsadmin (你的可执行文件)。浏览指向,这时你就可以进行使用。

10) 设置完毕就可以打开VS2005了。新建-项目-可以看到有了个DDK project,选择
Driver,根据选择选定需要的DDK。Finish
6.项目属性-MAKE-Included Search Path-添加
C:WIDDK3790.1830incddkwxp 这里根据自己需求选择
,F7吧。进入项目目录就能看到生成的objchk_wnet_x86目录以及里面的.sys
了。


8、 使用 VPC 建立驱动程序调试环境(我可不想看到本机蓝屏呀)
这里建立虚机调试驱动程序,仅仅是我摸着石头过河,究竟能不能成功,还要好好试试,呵

1) 建立一个干净的 Windows Vista 虚机
2) 安装 WDK 开发包
3) 为VPC建立命名管道以方便调试:




4) 以管理员身份运行命令提示工具,在命令行中输入:
bcdedit copy {current} d
5) 重启计算机,在启动菜单已经添加了一项 DEBUG
6) 以管理员身份运行命令行提示工具,在命令行中输入:msconfig
7) 选择选项卡 启动 中的 Debug 项,点击高级选项




8) 选择 调试 以及调试端口,如下图


9、 常见问题。
1) error PRJ0019: 某个工具从以下位置返回了错误代码: 正在执行生成文件项目操作
错误原因:没有设置―项目和解决方案‖中的―VC++目录‖。
解决方案:在―工具‖->―选项‖->―项目和解决方案‖->―VC++目录‖->―可执行文件‖添加
和所在的路径






2)
错误的结果 3(从―C:WIDOWSsystem32‖返回)。

错误原因:没有设置环境变量

解决方案:添加相应的环境变量



Windows驱动程序开发笔记
一、WDK与DDK环境
最新版的WDK 微软已经不提供下载了 这里:https: 可以下 并
且这里有好多好东东!
不要走进一个误区:下最新版的就好,虽然最新版是Windows Driver Kit (WDK) 7_0_0,
支持windows7,vista 2003 xp等但是它的意思是指 在windows7操作系统下 安装能编写 针
对windows xp vista的驱动程序,
但是不能在xp 2003环境下安装Windows Driver Kit (WDK) 7_0_0这个高版本,否则 你在
build的时候 会有好多好多的问题.
上文build指:首先安装好WDKDDK,然后进入开始所有程序
Kits在弹出来
的命令行窗口中输入,让它自动生成所需要的库
如果你是要给xp下的开发环境 还是老老实实的 针对xp的老版DDK吧,并且xp无WDK
版 只有DDK版build自己的demo 有个常见问题: 'jvc' 不是内部或外部命令,也不是可
运行的程序。
解决办法:去掉build路径中的空格。

二、
下载 WDK 开发包的步骤
1、访问 Microsoft Connect Web site 站点
2、使用微软 Passport 账户登录站点
3、登录进入之后,点击 站点目录 链接
4、在左侧的类别列表中选择 开发人员工具 ,在右侧打开的 类别: 开发人员工具 目录
中到 Windows Driver Kit (WDK) and Windows Driver Framework (WDF) 并添加到 您
的控制面板 中
5、添加该项完毕后,选择 您的控制面板 ,就可以看到新添加进来的项了。
6、点击 Windows Driver Kit (WDK) and Windows Driver Framework (WDF) ,看到下面
有下载链接,OK,下载开始。下载后的文件名为:
6.1.6001.18002.081017-1400_wdksp-WDK18002SP_E_ 将近600M大小。


也可以试试这个地址:
http:downloadsen?displaylang=en&FamilyID=36a2630f-5d56
-43b5-b996-7633f2ec14ff 直接点击下载。
三、
安装 WDK 开发包
1、使用虚拟光驱加载下载完成的镜像文件,然后运行
2、选择相应的系统环境,如下图:

3、接触,出现以下画面,在左侧的树形复选框中选择要安装的组件及工具,建议全部安装,
选择好后点击―OK‖~~后面的就简单了~

4、然后一路回车即可。



5、安装过程的注意事项,只有两点:
(1)安装到一个简单一点的路径,避免在特殊情况下需要配置路径时麻烦,比如
C:WinDDK。尤其要避免在路径上有空格,否则可能出现编译问题。
(2)一定要选择完全安装,否则可能错过一些代码例子。
四、驱动开发环境搭建(VS2008+WDK+DDKWzard)
在VS2008IDE中没有提供驱动开发的项目选项,当然可以用普通工程,然后手动在VS
中配制相应的编辑连接以及调试选项,但是如此只来,每次都要重复些复杂的步骤。在
http:网站上发现了一个很好用的辅助工具DDKWizard,能
够方便地对开发环境进行配置,真是适合想我这样懒人啊,工具的作者也自称是因为懒惰才
开发此工具,看来―懒惰是推动科技发展的动力‖一点不假 。



DDKwizard安装需要三个文件:DDKWizard主程序:安装VS2008的项目模板
ddkwizard_
:应该是用VS2008调用WDK编辑编译器的一系列脚本
dkbuild_
:估计也是是用VS2008调用WDK编辑编译器的一系列脚本
ddkbuild_
1、 安装DDKWizard
1) 安装ddkwizard_setup,默认安装,一路ext点过即可,将
与考到WDK的安装目录,或者其它目录也行,只要在后续的
设置就行。如:我将其放在wdk的目录下,如图



2) 设置环境变量
a) 添加相应的环境变量,如要开发XP系统下的驱动则添加WXPBASE,变量值
为WDK的根目录
path :系统变量
需将G:WinDDK添加到Path变量中
否则编译时会出现不到命令的错误
新建系统变量
变量名:WLHBASE ,图中我加了两个,只需第一个即可。
变量值为:G:WinDDK7600.16385.0 修改为你安装的wdk路径
如下图



b) Win7:

如果为其它系统开发驱动则填写相应的环境变量
T 4.0 ———–T4BASE
windows2000—-W2KBASE
windowsXP——-WXPBASE
windows2003—-WETBASE
win72008 R2—-W7BASE




2、 打开VS 2008,菜单―工具‖->―选项‖->左侧―项目和解决方案‖->―VC++目录‖->右侧
―可执行文件‖下拉列表->添加一项D:WIDDK(根据你的实际情况,就是第1步中
与所在的路径),增加WDK的根目录如图:到目
此所有的设置工作都已完成。自定义安装DDK目录的修改DDKW文件内容 替换
c:WIDDK为你DDK安装路径,另替换系统对应支持DDK目录,我的
安装了最新的WIDOWS7的DDK,替换如图所示。




Win7:


3、 编写简单的驱动程序并测试我们的驱动开发环境
1) 在Visual C++选项卡中多了DDK Project的项目类型,选择相应的模板添加我
们的项目,点击确定

2) 确定后出现DDKWzard的项目创建页面,在―Choose the DDKBUILD you
want to use‖中选择―‖或者―‖,在其下面选择我们
要为Who(2000,xp……)开发的驱动。


W7:
替换默认路径c:WIDDK为自定义G:WIDDK

替换默认路径c:WIDDK7600.16385.0 -》g:WIDDK7600.16385.0

这里可以保持默认设置 我这里修改了ddkw的默认设置G:Program
FilesDDKWizardWizardsDriverHTML1033的内容

Which DDK(s)WDK(s) do you want to use:



就是


6、 复制下面的代码:
#include
VOID DriverUnload(PDRIVER_OBJECT driver)
{
DbgPrint(
}
TSTATUS DriverEntry(PDRIVER_OBJECT driver,PUICODE_STRIG reg_path)
{
DbgPrint(
driver->DriverUnload=DriverUnload;
return STATUS_SUCCESS;
}
[
注意:sources文件中TARGETTYPE= 默认生成的代码
需要改为TARGETTYPE=DRIVER SOURCES=默认也为空 我把它改成
SOURCES=即可成功编译出 否则编译成功后你会发现不到驱动文件。
]

1) 在解决方案中便是由DDKWzard为我们自动生成的一个简单的驱动程序框架。
2)




3) 最后点击F6生成解决方案,成功生成后在项目的objchk_win7_x86i386文件
夹下会生成几个文件
—编译生成的2进制文件
—用于调试时使用的符号文件
—–用于调试时使用的符号文件
—就是我们拭目以待的驱动程序文件,终于见到久违的驱动了
~~~!!!

7、 Win2003与VS2005下DDK环境搭建
1) 环境:
安装环境: Windows 2003; 开发环境 vs2005
到迅雷上下载 win2003 DDK iso 的文件
下载Windows Server 2003 SP1
安装 iso 文件格式的 DDK
安装Windows Server 2003 SP1

2)
安装DDK后,去http: 下载ddkwizard_setup_v1.2.0a、
ddkbuild_、ddkbuild_。

3)
拷贝 和 到DDK安装根目录,如我的是
C:WinDDK。将上述文件( 和 )的路径添加到
系统的path变量(右击我的电脑,系统属性高级环境变量系统变量path变量双击修
改值)。

4)
根据你所安装的DDK的不同版本添加不同的变量到系统变量中。
右击我的电脑,系统属性高级环境变量系统变量新建:
2000 DDK则变量名为: W2KBASE
XP DDK则变量名为: WXPBASE
2003 sp1 DDK则变量名为: WETBASE
这里我的是WETBASE(值为c:WinDDK3790.1830)


5)
启动vs2005打开菜单中的工具——选项,弹出选项对话框。选择左边的项目和
解决方案——VC++目录,在右边的显示以下内容的目录下拉列表中选择可执行文
件,在下面列表框中添加上面文件所在的路径(这里是
C:WinDDK),同样设置包含文件和库文件

设置可执行文件(c:WinDDK)
设置包含文件(cWIDDK3790.1830incwnet)
设置库文件(cWIDDK3790.1830libwneti386)

6)
开始安装DDKWizard,在安装的最后一步你可以选择编辑ddkwizard的配置文
件。现在重新打开VS2005会发现在新建项目里面有DDK Project的选项了,里
面就可以建立驱动工程来编写驱动程序了。

7)
比较成功的安装方法链接:

http:wangyue4archive20091215

8)
将驱动程序的所有源文件加入项目中。

新建DDK Project 之后修改SOURCE 文件:
其中TARGETTYPE= 后面加DRIVER ;
加入以下两行:
DDKROOT=D:WIDDK2600; # 这里要和安装目录一样
ICLUDES=$(DDKROOT)inc;
加入[ 源文件] 后还要在sources 文件里的SOURCES= 后面加上[ 源文件名] 。比如:
SOURCES=
9)
程序调试成功后,也许会弹出 一个可执行文件的对话框,这时在文件的I386,下
查到 tsadmin (你的可执行文件)。浏览指向,这时你就可以进行使用。

10) 设置完毕就可以打开VS2005了。新建-项目-可以看到有了个DDK project,选择
Driver,根据选择选定需要的DDK。Finish
6.项目属性-MAKE-Included Search Path-添加
C:WIDDK3790.1830incddkwxp 这里根据自己需求选择
,F7吧。进入项目目录就能看到生成的objchk_wnet_x86目录以及里面的.sys
了。


8、 使用 VPC 建立驱动程序调试环境(我可不想看到本机蓝屏呀)
这里建立虚机调试驱动程序,仅仅是我摸着石头过河,究竟能不能成功,还要好好试试,呵

1) 建立一个干净的 Windows Vista 虚机
2) 安装 WDK 开发包
3) 为VPC建立命名管道以方便调试:




4) 以管理员身份运行命令提示工具,在命令行中输入:
bcdedit copy {current} d
5) 重启计算机,在启动菜单已经添加了一项 DEBUG
6) 以管理员身份运行命令行提示工具,在命令行中输入:msconfig
7) 选择选项卡 启动 中的 Debug 项,点击高级选项




8) 选择 调试 以及调试端口,如下图


9、 常见问题。
1) error PRJ0019: 某个工具从以下位置返回了错误代码: 正在执行生成文件项目操作
错误原因:没有设置―项目和解决方案‖中的―VC++目录‖。
解决方案:在―工具‖->―选项‖->―项目和解决方案‖->―VC++目录‖->―可执行文件‖添加
和所在的路径






2)
错误的结果 3(从―C:WIDOWSsystem32‖返回)。

错误原因:没有设置环境变量

解决方案:添加相应的环境变量


-

Windows驱动程序开发环境配置

发布时间:2022-03-28 13:21:48
文章版权声明:除非注明,否则均为IT技术网-学习WEB前端开发等IT技术的网络平台原创文章,转载或复制请以超链接形式并注明出处。

发表评论

评论列表 (有 19 条评论,799人围观)

最近发表

随便看看

热门文章

标签列表