1. 程式人生 > 其它 >Win10下VS2019驅動開發環境搭建(一)

Win10下VS2019驅動開發環境搭建(一)

技術標籤:驅動程式核心

本文主要講怎樣正確編譯得到驅動程式(不包括除錯)。

環境: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