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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

WINDOWS 7 配置驱动开发环境(wdk7.60)

發布時間:2024/9/5 综合教程 77 生活家
生活随笔 收集整理的這篇文章主要介紹了 WINDOWS 7 配置驱动开发环境(wdk7.60) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 安裝VS2010,WDK7.60(GRMWDK_EN_7600_1)

2. 新建VC 控制臺項目(選擇為空項目)

3. 新建項目配置“driver” ,點擊下拉按鈕-點擊(配置管理器)

輸入名稱(driver)點擊確定就可以了,其他的不要動哦!

完成后的效果!

點擊確定按鈕之后呈現出來的畫面

鼠標右擊新建的driver屬性,會彈出以下窗口!


4. 設置VC++路徑

<我把wdk安裝在E盤下>
a. 配置可執行文件目錄:E:\WinDDK\7600.16385.1\bin\x86;
b. 配置包含目錄:E:\WinDDK\7600.16385.1\inc\ddk
E:\WinDDK\7600.16385.1\inc\
E:\WinDDK\7600.16385.1\inc\api
c. 配置庫目錄: E:\WinDDK\7600.16385.1\lib\win7\i3865

新建C/C++文件 不然無C/C++設置選項

<剛開始我們創建了一個空的項目所以項目里沒有c++文件,現在要做的就是在空的項目-源文件-添加一個新建項c++文件>

常規
目標文件擴展名:.sys //必選

6. 設置C/C++選項
常規選項卡
1 調試信息格式(C7 兼容(/Z7) //可選
2 警告等級 (2 級(/W2) //可選
3 將警告視為錯誤 (是(/wx) //可選

優化選項卡
優化(禁用/Od) //可選

預處理器
預處理器定義:WIN32=100;_X86_=1;WINVER=0x501;DBG=1 //必選

代碼生成
啟用最小重新生成:否 //可選

基本運行時檢查:默認值 //可選
運行時庫:多線程調試(/MTd) 或 多線程(/MT) //建議選 <本人選擇的是多線程調試(/MTd)>
緩沖區安全檢查:否 //可選
(可避免出現 LINK : error LNK2001: 無法解析外部符號 __security_cookie)
高級
調用約定 __stdcall(/Gz) //必選

7. 鏈接器設置
常規
啟用增量鏈接:否(/INCREMENTAL:NO) //建議 選上
忽略導入庫:是 // 可選
( 設置為此值時,必須在附加庫目錄中加: E:\WinDDK\7600.16385.1\lib\win7\i3865 這樣項目就不會依賴 IDE 環境的設 置)

如果否 ( 設置為此值時,將依賴 IDE 的環境的相關設置 )

輸入
附加依賴項
ntoskrnl.lib;Hal.lib;wdm.lib;wdmsec.lib;wmilib.lib;ndis.lib;MSVCRT.LIB;LIBCMT.LIB //必選

//NT式驅動 ntoskrnl.lib WDM式驅動 wdm.lib
( HalXXX 函數在Hal.lib, WmiXXX 函數在 wmilib.lib , NdisXXX函數在 ndis.lib )
( 必要時需要增加微軟的標準庫 MSVCRT.LIB MSVCRTD.LIB(調試庫) LIBCMT.LIBIBCMTD.LIB(調試庫) )
( 如果源碼中有 source 文件,那么該文件的 TARGETLIBS 字段會列出該項 目需要的庫 )

忽略所有默認庫: 是 (/NODEFAULTLIB) //必選

清單文件:
啟用用戶賬戶控制(UAC) 否 //必選

不然會出現 >LINK : fatal error LNK1295: “/MANIFESTUAC”與“/DRIVER”規范不兼容;鏈接時不使用“/MANIFESTUAC”

調試:
生成調試信息 是(/DEBUG) //可選
生成映像文件:是(/MAP) //可選
映像文件名:$(TargetDir)$(TargetName).map //可選

系統(System)
子系統: 控制臺(/SUBSYSTEM:CONSOLE) //必選
堆棧保留大小:4194304 //可選
堆棧提交大小: 4096 //可選
驅動程序: 驅動程序(/DRIVER) //必選
高級:
入口點:DriverEntry //必選
隨機基址:清空 //把框里的數據刪掉。(yes也不是no也不是就是要一個干干凈凈的文本框) //必選
不然會出現 e:\xxx.sys : fatal error LNK1295:
“/DYNAMICBASE”與“/DRIVER”規范不兼容;鏈接時不使用“/DYNAMICBASE”

數據執行保護(DEP): 清空 //把框里的數據刪掉。(yes也不是no也不是就是要一個干干凈凈的文本框) //必選
不然會出現 e:\xxx.sys : fatal error LNK1295:
“/NXCOMPAT:NO”與“/DRIVER”規范不兼容;鏈接時不使用“/NXCOMPAT:NO”

設置效應和:是(/RELEASE) //可選

基址:0x10000 //建議選上

命令行:/SECTION:INIT,D /IGNORE:4078 (建議不要寫進去,會報錯!)

最后給出一個超級簡單的代碼來測試一下我們配置的是否成功??

#include "ntddk.h"

NTSTATUS
DriverEntry(PDRIVER_OBJECT DriverObject,PUNICODE_STRING RegistryPath)
{
return STATUS_UNSUCCESSFUL;
}

如果沒有報錯那么恭喜你配置成功了!







作者:noting better

出處:http://korykim.cnblogs.com

歡迎任何形式的轉載,但請務必注明出處。

測試:

總結

以上是生活随笔為你收集整理的WINDOWS 7 配置驱动开发环境(wdk7.60)的全部內容,希望文章能夠幫你解決所遇到的問題。

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