目录
前提:本篇是为windows7----windows11开发驱动程序。这里使用OS是Windows 10专业版.
Windows 驱动开发环境的建立需要安装三个开发包:
- 1.VS201X 以下任一版本都可以:
Visual Studio Community 201X, Visual Studio Professional 201X,Visual Studio Enterprise 201X.
(根据:以前的 WDK 版本和其他下载 - Windows drivers | Microsoft Docs,Visual studio也不是任一版本都可以安装的, 见下面图(5) Windows 版本/build No. 及对应的Visual studio版本)
- 2.Windows 11 SDK (版本:10.0.XXXXX), 有两种途径安装SDK:
1) 在VS2019 installer 中选择安装,见下面的图(1)。
2)在SDK的存档页面选择安装:
( Windows SDK 存档 - Windows 应用开发) - 3.Windows 11 WDK(Windows Driver kit),版本:10.0.XXXXX ,
( 以前的 WDK 版本和其他下载 - Windows drivers | Microsoft Docs)
- 最最重要的,上面特意没直接告知安装版本号,这是容易出问题的地方: Windows SDK 和Windows WDK版本号需一致, 且需跟机器的build版本号一致,如何知道机器的build版本号?
在管理员权限下,在终端执行命令:bcdedit /set testsigning on,然后重启机器,注意观察屏幕右下角,你会看到机器的build版本号,如下图(2)所示。
机器的build版本号---->SDK版本--->WDK版本, 它们的查询及对应关系见图(3),图(4).
- 这里特别注意:有Doc直接使用的SDK和WDK的版本号是:22000.1,这有误导之嫌疑。 但是,经测试,该版本在后面设置双机调试时(预配目标计算机以便进行驱动程序部署和测试)会产生不能安装的问题:Windows Driver Testing Framework (WDTF) Runtime Libraries-x64_en-us.msi安装失败,错误信息为:
CustomAction customaction_a returned actual error code 1157 (note this may not be 100% accurate if translation happened inside sandbox) Windows Driver Testing Framework (WDTF) Runtime Libraries -- Error 1723. There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. Action WDTFInstall_FailIfInstalledAction, entry: WDTFFailIfInstalled, library: c:\Program Files (x86)\Windows Kits\10\Testing\Runtimes\WDTF\RunTime\WDTFInstall.DLL
以上package,按上面顺序安装。
图例:
图(1) 使用VS2019 installer安装Win10 SDK
图(2) 机器的build版本号
图(3) Windows 版本/build No. 及对应的SDK
图(4) Windows 版本/build No. 及对应的WDK
图(5) Windows 版本/build No. 及对应的Visual studio版本
注意事项:
安装vs2019时,在安装过程中注意选择以下选项:
1)
2)
验证安装:
上面所有三项安装之后,打开VS2019,新建Project:选择C++, Driver:出现如下工程类型,说明安装成功:
如下,选择一个工程类型,建立一个driver project:
Build project, 然后查看Output窗口,如下表示开发环境设置成功:
注意事项:
1.出现错误:“MSB8040:此项目需要 Spectre 缓解库“,该错误是因为VS2019的相关库没选择正确,请参照上面“安装vs201X时,在安装过程中注意选择以下选项”部分,重新选择安装。