日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VS2005+WINDDK+Driver Studio 3.2编译出第一个测试驱动程序

發布時間:2025/6/17 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VS2005+WINDDK+Driver Studio 3.2编译出第一个测试驱动程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

哎,我都快要成為轉帖男了,不過有用的話我覺得還是有必要轉一下的。拿來和大家一起分享也是一種快樂!

先說明引自:http://blog.csdn.net/zzqccc/archive/2009/05/05/4151142.aspx

我希望的就是DDK(2600)+VS2005+DRIVER STUDIO(3.2)

這里的driver studio3.2不是破解版本,只能免費使用14天,難道卸載在安裝?我爭取再去找找破解版本,有了我就貼出來,沒有的話只有卸載重安裝了!

搭建好windows設備驅動程序的開發環境,終于能在VS2005中編譯出第一個測試驅動程序了,現在把安裝和編譯的過程中遇到的一些細節問題總結一下。

?

1.?WINDD下載的是2600版本,不知道跟xp sp1 DDK和xp sp2 DDK有什么區別,找后面兩個版本的DDK下載地址找了好久都沒找到,驅運之家有下載,但是要高級會員才能下,要Money。電驢里搜到一個xp sp1DDK的下載鏈接,但是下不了,在此把我找到的2600版本的下載地址貼出來

?? ftp://202.113.29.4/ISO/M$/WinDDK/winxp_ddk.rar

?

2.?注意安裝DDK時,建議將例子等全部安裝,否則Driver Studio編譯時會提示缺少頭文件

3.?在VS2005環境下,安裝Driver Studio時會有對話框彈出,單擊Ignore按鈕,解決辦法會在后面詳細說明;

??? 安裝DriverStudio3.2 過程中出現DSDDKEnv8.dll failed to register錯誤的解決方法
原因:與VS2005集成時會發生此錯誤。
解決方法,下載補丁:http://download.csdn.net/down/660936/amazingzyx


>Extract it into a temp directory.
>Copy the file DSDDKEnv8.dll into the <INSTALL_DIR>\DriverStudio\Common\Bin directory.
>Select "yes" if prompted to copy over an existing one.
>Copy the file DSDDKEnv8UI.dll into the <INSTALL_DIR>\DriverStudio\Common\Bin\1033 directory. Select "yes" if prompted to copy over an existing one.
>Then unregister the older version
Go to start->run and type "regsvr32 -u " <INSTALL_DIR> \DriverStudio\Common\ Bin\ dsddkenv8.dll"
注意〈INSTALL_DIR〉不能含有空格,否則命令無法執行,筆者曾將DriverStudio安裝在C:\Program Files下,總是運行不了,為此郁悶了好久,后經別人提點才解決此問題,但不知其原因,請問有人知道嗎?

>Then register the new copy
Go to start->run and type "regsvr32 <INSTALL_DIR>\ DriverStudio\ Common\ Bin\ dsddkenv8.dll"
>DriverStudio menu should now be part of the VisualStudio 2005 menu

?

如果在vs2005+補丁后生成的解決方案文件.sln無法雙擊打開工程時可以使用文本編輯器打開.sln文件在第二行加入“# Visual Studio 2005”保存即可,例如:
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aa", "driver\aa.vcproj", "{6A0A9D07-FD4C-4D7C-805D-48D25FB4BE6C}" EndProject


根治方法:
打開\DriverStudio\DriverWizard\Templates目錄的WdmDriver.sln.net文件
找到“Microsoft Visual Studio Solution File, Format Version 9.00”這一行,在其后下一行加入“# Visual Studio 2005”保存即可,以后用DriverWizard生成的工程就可以正常雙擊打開了。

?

4.?編譯中可能遇到的問題(VS2005環境下)
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
這個錯誤,解決方法如下:
打開project->BaseClasses properties->configuration->C/C++ ->Command Line,增加/wd4430選項。

?

error LNK2019: unresolved external symbol

error LNK2001: unresolved external symbol

?

解決:在鏈接選項中加入 /verbose:lib,就可以看到鏈接生成執行文件時鏈接程序所要鏈接的庫的路徑。發現所有鏈接庫的路徑為DDK所在路徑。原來先前用VS寫驅動時,在VC++ Directories-->Library Files中加入了驅動庫的路徑。只要把DDK的路徑去掉,讓連接器自動尋找默認庫進行鏈接就沒有該問題了。

?

5.???? 用DriverWizard 新建的工程要在VS2005中編譯必須先設置DDK路徑,在VS2005菜單欄Toos=>DriverStudio=>DriverStudio=>DDK Build Settings中設置DDK Root Directory

6.?然后還要編譯DriverStudio安裝目錄DriverStudio\DriverWorks\source\VdwLibs2005.sln,以得到vdw_wdm.lib這個庫文件。編譯時,注意用VC打開VdwLibs2005.sln工程文件后,有兩個工程,要先將VdwLibs工程設為當前Active Project,然后右擊選擇“Property” ,在VdwLibs Property Pages中Configuration要改成“win32 Active(WDM Checked)”

?

7.?編譯驅動時,不要使用VC的"編譯",那會產生很多莫名其妙的錯誤,而應該選擇"DriverStudio"-->“Build with BUILD.exe”。
1>NMAKE :? U1073: don't know how to make 'D:\WINDDK\2600\lib\wxp\i386\ntstrsafe.lib'這個錯誤。
再上網查查。
原來driverstudio產生的驅動工程都會要連接ntstrsafe.lib這個庫,但實際上這個庫并不存在,在Project的Property pages里的Link=>Input=>Additional Dependencies項中去掉這個庫就可以了,還有說DDK2003版本就不存在這個問題,還沒試過。
于是去掉之。可是問題依然存在。
狂暈!
最后終于在網上看到一個解決辦法
就是將工程中的sources文件里邊的:
TARGETLIBS=$(DDK_LIB_PATH)\ntstrsafe.lib $(DDK_LIB_PATH)\csq.lib
直接刪除。就行了。

編譯后終于成了

?

?

轉載于:https://www.cnblogs.com/Torres_fans/archive/2009/12/28/1634149.html

總結

以上是生活随笔為你收集整理的VS2005+WINDDK+Driver Studio 3.2编译出第一个测试驱动程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。