Win10下VS2019驱动开发环境搭建(一)

本文主要讲怎样正确编译得到驱动程序(不包括调试)。

环境:VS2019 Community + Windows10专业版

1.安装VS2019

下载Visual Studio Installer, 安装时工作负载选择 使用C++的桌面开发
Win10下VS2019驱动开发环境搭建(一)_第1张图片

由于WDK 默认启用了 Spectre 缓解,需要在单个组件中添加生成工具对应版本的 Spectre 缓解库 。(这里只下载了x64/x86处理器架构)
Win10下VS2019驱动开发环境搭建(一)_第2张图片

2.安装WDK

下载的 WDK 需要与 VS 2019下载时的 Windows 10 SDK 版本对应

我这里下载的WDK所要求的版本号为 Windows 10 SDK (10.0.19041.685)
Windows设置-应用 中可以查看当前安装的SDK与WDK版本是否一致,不一致可以到官网下载对应的版本。
Win10下VS2019驱动开发环境搭建(一)_第3张图片
以上都可以直接在官网下载:参考链接

等待WDK下载安装完成,关闭时默认选择安装 WDK VS 扩展
Win10下VS2019驱动开发环境搭建(一)_第4张图片
Win10下VS2019驱动开发环境搭建(一)_第5张图片
如果WDK安装完成后没有安装WDK VS 扩展,可以在WDK安装目录 Windows Kits\10\Vsix 中找到 WDK.vsix 文件双击打开。
Win10下VS2019驱动开发环境搭建(一)_第6张图片

所有安装完成后,打开VS2019,创建新项目中会出现 Driver 这一项,下面就可以进行驱动程序开发了。
Win10下VS2019驱动开发环境搭建(一)_第7张图片

3.一个简单的驱动程序

新建Empty WDM Driver项目
Win10下VS2019驱动开发环境搭建(一)_第8张图片

添加源文件 driver.c

// driver.c
#include 

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

下一篇:Win10下VS2019驱动开发环境搭建(二)

你可能感兴趣的:(驱动开发环境,驱动程序,内核)