Compile v3 printer driver with latest wdk

Hi everyone. I'm new to v3 printer drivers and need to compile some legacy v3 printer drivers, originally developed using WDK7600, into ARM64 versions to run on Windows 10/Windows 11. Unfortunately, WDK didn't support ARM until version 10. Due to certain constraints, we cannot upgrade to the v4 architecture or any newer architecture. So, the only option is to see if it's possible to make it work within the current driver framework (I understand that Xerox successfully compiled an ARM version of a v3 driver this year, so it should be feasible).

WDK7600 provides no support for ARM builds and doesn't work with MSBuild, so my attempts over the past couple of days have hit walls everywhere. My general idea is: 1. Convert this project, which uses .Source and .Dir files, to an MSBuild-style project. 2. Open the project in VS2022 and reconfigure it for WDK10. I'm not sure if my approach is correct, but I'm already stuck at the first step: the nmake2msbuild conversion tool doesn't seem to work effectively; manually rebuilding from a new, empty WDM project hasn't succeeded either, likely due to my limited understanding of v3 drivers.

Does anyone have similar experience, such as compiling Windows 7-era drivers with a newer WDK? Any advice would be a huge help.

That never really worked well. I’d suggest looking at the printer sample drivers on github, but of course MSFT deleted them. If you clone the repo you can create a branch from before the delete commit: cbbd53eda55fbdf65f22b5f57c7dbc4b1ea594fd (i.e at it’s parent 6ea518d ).

See GitHub - microsoft/Windows-driver-samples: This repo contains driver samples prepared for use with Microsoft Visual Studio and the Windows Driver Kit (WDK). It contains both Universal Windows Driver and desktop-only driver samples.

I strongly suspect that printer drivers are not WDM drivers.

yeah, I’m working on one V3 sample printer driver.