日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

VS2012+7600配置驱动环境

發布時間:2025/3/20 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VS2012+7600配置驱动环境 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 新建C++Win32控制臺項目

  • 選擇空項目

  • 新建項目Driver"配置" ,點擊下拉按鈕-點擊(配置管理器)

  • 點擊配置的下拉按鈕選擇新建

  • 在新建項目配置的名稱中填入Driver

  • 打開屬性管理器

  • 右鍵Driver|Win32彈出屬性

  • 設置VC++目錄,我將WDK安裝在C盤下了

  • 上邊這步操作可以直接寫在編輯框中,但是位置不確定,所以保險起見用到它給的編輯對話框。添加如下,然后確定即可。

  • 配置包含目錄:操作如上添加的目錄有

    C:\WinDDK\7600.16385.1\inc\ddk??

    C:\WinDDK\7600.16385.1\inc\crt?

    C:\WinDDK\7600.16385.1\inc\api?

  • 配置庫目錄

    C:\WinDDK\7600.16385.1\lib\win7\i386

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

  • 然后再次右鍵Driver|Win32彈出屬性將目標文件擴展名改為.sys

  • 選擇C/C++選項中的常規選項卡設置以下選項

    調試信息格式(C7 兼容(/Z7)??????? //可選

    ?警告等級???? (2 級(/W2)????????? //可選?

    將警告視為錯誤? (是(/wx)???????? //可選

  • 優化選項卡

    優化(禁用/Od)????????????????????????? //可選?

  • 預處理器選項卡

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

  • 代碼生成?選項卡

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

    基本運行時檢查:默認值???????????????????????????????????? //可選?
    運行時庫:多線程調試(/MTd)? 或? 多線程(/MT)????// <本人選擇的是多線程調試(/MTd)>

    ?緩沖區安全檢查:否??????????????????????????????????????????? //可選?
    ?(可避免出現? LINK : error LNK2001:? 無法解析外部符號? __security_cookie)

  • 高級選項卡

    調用約定? __stdcall(/Gz)???????????????????????????????????????//必選

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

  • 輸入?
  • 附加依賴項?

    kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)? ? ?

    上邊是原來就有的,將下邊這些庫添加到odbccp32.lib的后面

    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???????????????????? ????//可選?

  • 系統

    子系統:? 控制臺(/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?????????????????????????????????????????????????? //建議選上??

  • 編寫測試程序,代碼如下:
  • ?

    #include <ntddk.h>

    VOID UnloadDriver(PDRIVER_OBJECT pDriverObject)

    {

    ????KdPrint(("GoodBye Driver!\n"));

    }

    NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject,UNICODE_STRING RegistryPath)

    {

    ????KdPrint(("Hello Driver!\n"));

    ????pDriverObject->DriverUnload = UnloadDriver;

    ????return STATUS_SUCCESS;

    }

    F7運行結果如下圖:

    全部完成,親自測試改寫。

    轉載于:https://www.cnblogs.com/low-key-nick/p/3751043.html

    總結

    以上是生活随笔為你收集整理的VS2012+7600配置驱动环境的全部內容,希望文章能夠幫你解決所遇到的問題。

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