eiz / SynchronousAudioRouter

Low latency application audio routing for Windows
http://sar.audio/
GNU General Public License v3.0
994 stars 136 forks source link

Make SAR build on the current Windows toolchain #137

Closed eiz closed 1 month ago

eiz commented 2 months ago

Bring the code up to bare minimum standard of buildability. Fix compile errors in topology pin code and remove win7 ifdefs to ensure the array length always matches. Remove calls to deprecated ExAllocatePoolWithTag function in favor of ExAllocatePool2. Retarget to current Windows SDK/WDK. Add required project settings. Remove SarNdis/etc from solution.

This is still relying on the WiX 3.x toolset. Build is now VS2022 community edition.

With these changes whatever vestige of win7 support still existed will go away due to WDK incompatibility.

AppVeyor's Visual Studio 2022 image did not have a version of the WDK installed which is actually compatible with Visual Studio 2022 (only the 2019 VSIX is present in that WDK version), so this PR also switches to GitHub Actions for CI.

Also due to WDK changes, the 32-bit kernel target of SAR no longer exists. There is only one .msi now and it is for 64-bit Windows 10 (version 2004) or later. The 32-bit SarAsio.dll is still built for compatibility with 32-bit apps.

MonstoBusta commented 2 months ago

POG. Seriously though I'm curious if ExAllocatePool2 does anything differently.