我正在做的项目需要编译32位、64位、ARM64的驱动。我正在将构建环境从 VS2019 和 VS2022 转移。对于驱动程序编译,我使用较新的 WDK(版本 22H2 WDK)。现在的问题是较新的 WDK 不支持 32 位驱动程序编译。我正在考虑使用olde WDK(版本21H2 WDK),但VS2022不支持它。这种情况下可以做什么呢。我是否有可能使用 VS2022 组合 32 位驱动程序(也许使用较旧的 WDK)。
https://learn.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk: Windows 11 版本 21H2 WDK 不支持 Visual Studio 2022。要使用 Visual Studio 2022 开发和测试驱动程序,请下载 Windows 11 版本 22H2 WDK。有关详细信息,请参阅下载 Windows 驱动程序工具包 (WDK)。
Windows 11没有32位版本,因此我认为Win11的WDK不支持32位。但是,我无法理解的是,较新的 (22H2) WDK 仍然可以编译针对具有 32 位支持的旧版 Windows(最低至 Windows 10)的代码,但它无法为旧版 Windows 生成 32 位内容。
我们可以使用较旧的 EWDK 版本来构建 32 位驱动程序。最新可用的 EWDK 是 EWDK for Windows Server 2022 with Visual Studio Build Tools 16.9.2。
理论上,使用最新的 VS/WDK 进行开发并使用 EWDK 进行构建是可以的。缺点是我们需要保持代码库与旧版 WDK 兼容。