Win10下VS2019驅動開發環境搭建(一)
阿新 • • 發佈:2021-01-05
本文主要講怎樣正確編譯得到驅動程式(不包括除錯)。
環境:VS2019 Community + Windows10專業版
1.安裝VS2019
下載Visual Studio Installer, 安裝時工作負載選擇 使用C++的桌面開發 。
由於WDK 預設啟用了 Spectre 緩解,需要在單個元件中新增生成工具對應版本的 Spectre 緩解庫 。(這裡只下載了x64/x86處理器架構)
2.安裝WDK
下載的 WDK 需要與 VS 2019下載時的 Windows 10 SDK 版本對應
我這裡下載的WDK所要求的版本號為 Windows 10 SDK (10.0.19041.685)
。
在 Windows設定-應用 中可以檢視當前安裝的SDK與WDK版本是否一致,不一致可以到官網下載對應的版本。
以上都可以直接在官網下載:參考連結
等待WDK下載安裝完成,關閉時預設選擇安裝 WDK VS 擴充套件。
如果沒有完成後沒有安裝WDK VS 擴充套件,可以在WDK安裝目錄 Windows Kits\10\Vsix 中找到 WDK.vsix 檔案雙擊開啟。
所有安裝完成後,開啟VS2019,建立新專案中會出現 Driver 這一項,下面就可以進行驅動程式開發了。
3.一個簡單的驅動程式
新建Empty WDM Driver專案
新增原始檔
driver.c
// driver.c #include <ntddk.h> void DriverUnload(PDRIVER_OBJECT pDriverObject); NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING pRegPath) { DbgPrint("[MyDriver] DriverEntry\n"); NTSTATUS status = STATUS_SUCCESS; pDriverObject->DriverUnload = DriverUnload; return
status; } void DriverUnload(PDRIVER_OBJECT pDriverObject) { DbgPrint("[MyDriver] DriverUnload\n"); return; }
編譯前
a.移除專案自動生成的.inf檔案
b.配置屬性 - C/C++ -常規
警告等級 設定為 等級3
將警告視為錯誤 設定為 否c.配置屬性 - 連結器 -常規
將連結器警告視為錯誤 設定為 否
d.配置屬性 - Driver Signing - General
Sign Mode 設定為 Off。
編譯通過最終生成 MyDriver.sys。