diff --git a/appveyor.yml b/appveyor.yml index f6c356d..f3a377a 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,8 +1,9 @@ -version: 1.19.{build}.0 +version: 1.21.{build}.0 image: Visual Studio 2019 skip_commits: files: - '**/*.md' + - '**/*.aip' cache: - C:\projects\DMF - C:\projects\ViGEmBus\vpatch.exe @@ -15,13 +16,12 @@ configuration: environment: DmfRootPath: C:\projects\DMF install: -- ps: iwr "https://download.microsoft.com/download/c/f/8/cf80b955-d578-4635-825c-2801911f9d79/wdk/wdksetup.exe" -OutFile wdksetup.exe -- cmd: .\wdksetup.exe /features + /q /norestart - cmd: git submodule -q update --init - cmd: git clone -q https://github.com/microsoft/DMF.git C:\projects\DMF 2> nul || set ERRORLEVEL=0 - cmd: | cd "C:\projects\DMF" git pull > NUL + git apply --reject "%APPVEYOR_BUILD_FOLDER%\patches\dmf.diff cd %appveyor_build_folder% before_build: - ps: Invoke-WebRequest "https://github.com/nefarius/vpatch/releases/latest/download/vpatch.exe" -OutFile vpatch.exe @@ -36,7 +36,6 @@ artifacts: - path: 'bin**\$(APPVEYOR_PROJECT_NAME)\*.sys' - path: 'bin**\*.pdb' - path: 'disk1\*.cab' -- path: 'bin**\*.msi' deploy: - provider: Environment name: BUILDBOT diff --git a/patches/dmf.diff b/patches/dmf.diff new file mode 100644 index 0000000..ebe49f2 --- /dev/null +++ b/patches/dmf.diff @@ -0,0 +1,647 @@ + Dmf/Solution/DmfK/DmfK.vcxproj | 28 +++++++++++++++++----- + Dmf/Solution/DmfKFramework/DmfKFramework.vcxproj | 28 +++++++++++++++++----- + .../DmfKModules.Library.vcxproj | 28 +++++++++++++++++----- + .../DmfKModules.Template.vcxproj | 28 +++++++++++++++++----- + Dmf/Solution/DmfU/DmfU.vcxproj | 18 +++++++++++++- + Dmf/Solution/DmfUFramework/DmfUFramework.vcxproj | 28 +++++++++++++++++----- + .../DmfUModules.Library.vcxproj | 28 +++++++++++++++++----- + .../DmfUModules.Template.vcxproj | 24 +++++++++++++++---- + 8 files changed, 169 insertions(+), 41 deletions(-) + +diff --git a/Dmf/Solution/DmfK/DmfK.vcxproj b/Dmf/Solution/DmfK/DmfK.vcxproj +index 738397c..de0b165 100644 +--- a/Dmf/Solution/DmfK/DmfK.vcxproj ++++ b/Dmf/Solution/DmfK/DmfK.vcxproj +@@ -44,37 +44,37 @@ + true + Unicode + WindowsKernelModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + true + Unicode + WindowsKernelModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + true + Unicode + WindowsKernelModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + false + Unicode + WindowsKernelModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + false + Unicode + WindowsKernelModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + false + Unicode + WindowsKernelModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + DbgengKernelDebugger +@@ -110,6 +110,9 @@ + OldStyle + .c.C.cpp.CPP.h.H + true ++ MaxSpeed ++ Speed ++ true + + + %(AdditionalLibraryDirectories) +@@ -139,6 +142,9 @@ + OldStyle + .c.C.cpp.CPP.h.H + true ++ MaxSpeed ++ Speed ++ true + + + %(AdditionalLibraryDirectories) +@@ -169,6 +175,8 @@ + .c.C.cpp.CPP.h.H + true + /d2guardsignret %(AdditionalOptions) ++ MaxSpeed ++ Speed + + + %(AdditionalLibraryDirectories) +@@ -199,6 +207,9 @@ + OldStyle + .c.C.cpp.CPP.h.H + true ++ MaxSpeed ++ Speed ++ true + + + %(AdditionalLibraryDirectories) +@@ -228,6 +239,9 @@ + OldStyle + .c.C.cpp.CPP.h.H + true ++ MaxSpeed ++ Speed ++ true + + + %(AdditionalLibraryDirectories) +@@ -258,6 +272,8 @@ + .c.C.cpp.CPP.h.H + true + /d2guardsignret %(AdditionalOptions) ++ MaxSpeed ++ Speed + + + %(AdditionalLibraryDirectories) +diff --git a/Dmf/Solution/DmfKFramework/DmfKFramework.vcxproj b/Dmf/Solution/DmfKFramework/DmfKFramework.vcxproj +index 13d2475..b2d481c 100644 +--- a/Dmf/Solution/DmfKFramework/DmfKFramework.vcxproj ++++ b/Dmf/Solution/DmfKFramework/DmfKFramework.vcxproj +@@ -80,37 +80,37 @@ + true + Unicode + WindowsKernelModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + true + Unicode + WindowsKernelModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + true + Unicode + WindowsKernelModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + false + Unicode + WindowsKernelModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + false + Unicode + WindowsKernelModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + false + Unicode + WindowsKernelModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + DbgengKernelDebugger +@@ -147,6 +147,9 @@ + OldStyle + .c.C.cpp.CPP.h.H + true ++ MaxSpeed ++ Speed ++ true + + + %(AdditionalLibraryDirectories) +@@ -174,6 +177,9 @@ + OldStyle + .c.C.cpp.CPP.h.H + true ++ MaxSpeed ++ Speed ++ true + + + %(AdditionalLibraryDirectories) +@@ -202,6 +208,8 @@ + .c.C.cpp.CPP.h.H + true + /d2guardsignret %(AdditionalOptions) ++ MaxSpeed ++ Speed + + + %(AdditionalLibraryDirectories) +@@ -230,6 +238,9 @@ + OldStyle + .c.C.cpp.CPP.h.H + true ++ MaxSpeed ++ Speed ++ true + + + %(AdditionalLibraryDirectories) +@@ -257,6 +268,9 @@ + OldStyle + .c.C.cpp.CPP.h.H + true ++ MaxSpeed ++ Speed ++ true + + + %(AdditionalLibraryDirectories) +@@ -285,6 +299,8 @@ + .c.C.cpp.CPP.h.H + true + /d2guardsignret %(AdditionalOptions) ++ MaxSpeed ++ Speed + + + %(AdditionalLibraryDirectories) +diff --git a/Dmf/Solution/DmfKModules.Library/DmfKModules.Library.vcxproj b/Dmf/Solution/DmfKModules.Library/DmfKModules.Library.vcxproj +index 1ba20c5..ec7dbed 100644 +--- a/Dmf/Solution/DmfKModules.Library/DmfKModules.Library.vcxproj ++++ b/Dmf/Solution/DmfKModules.Library/DmfKModules.Library.vcxproj +@@ -167,37 +167,37 @@ + true + Unicode + WindowsKernelModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + true + Unicode + WindowsKernelModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + true + Unicode + WindowsKernelModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + false + Unicode + WindowsKernelModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + false + Unicode + WindowsKernelModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + false + Unicode + WindowsKernelModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + DbgengKernelDebugger +@@ -234,6 +234,9 @@ + OldStyle + .c.C.cpp.CPP.h.H + true ++ MaxSpeed ++ Speed ++ true + + + %(AdditionalLibraryDirectories) +@@ -263,6 +266,9 @@ + OldStyle + .c.C.cpp.CPP.h.H + true ++ MaxSpeed ++ Speed ++ true + + + %(AdditionalLibraryDirectories) +@@ -293,6 +299,8 @@ + .c.C.cpp.CPP.h.H + true + /d2guardsignret %(AdditionalOptions) ++ MaxSpeed ++ Speed + + + %(AdditionalLibraryDirectories) +@@ -323,6 +331,9 @@ + OldStyle + .c.C.cpp.CPP.h.H + true ++ MaxSpeed ++ Speed ++ true + + + %(AdditionalLibraryDirectories) +@@ -352,6 +363,9 @@ + OldStyle + .c.C.cpp.CPP.h.H + true ++ MaxSpeed ++ Speed ++ true + + + %(AdditionalLibraryDirectories) +@@ -382,6 +396,8 @@ + .c.C.cpp.CPP.h.H + true + /d2guardsignret %(AdditionalOptions) ++ MaxSpeed ++ Speed + + + %(AdditionalLibraryDirectories) +diff --git a/Dmf/Solution/DmfKModules.Template/DmfKModules.Template.vcxproj b/Dmf/Solution/DmfKModules.Template/DmfKModules.Template.vcxproj +index 0d0ef4c..ce1f791 100644 +--- a/Dmf/Solution/DmfKModules.Template/DmfKModules.Template.vcxproj ++++ b/Dmf/Solution/DmfKModules.Template/DmfKModules.Template.vcxproj +@@ -44,13 +44,13 @@ + true + Unicode + WindowsKernelModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + false + Unicode + WindowsKernelModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + DbgengKernelDebugger +@@ -84,6 +84,9 @@ + OldStyle + .c.C.cpp.CPP.h.H + true ++ MaxSpeed ++ Speed ++ true + + + %(AdditionalLibraryDirectories) +@@ -108,6 +111,9 @@ + OldStyle + .c.C.cpp.CPP.h.H + true ++ MaxSpeed ++ Speed ++ true + + + %(AdditionalLibraryDirectories) +@@ -132,13 +138,15 @@ + OldStyle + .c.C.cpp.CPP.h.H + true +- /d2guardsignret %(AdditionalOptions) ++ /d2guardsignret %(AdditionalOptions) ++ MaxSpeed ++ Speed + + + %(AdditionalLibraryDirectories) + %(AdditionalDependencies);setupapi.lib;cfgmgr32.lib;wpprecorder.lib; + true +- /guard:delayloadsignret %(AdditionalOptions) ++ /guard:delayloadsignret %(AdditionalOptions) + + + false +@@ -158,6 +166,9 @@ + OldStyle + .c.C.cpp.CPP.h.H + true ++ MaxSpeed ++ Speed ++ true + + + %(AdditionalLibraryDirectories) +@@ -182,6 +193,9 @@ + OldStyle + .c.C.cpp.CPP.h.H + true ++ MaxSpeed ++ Speed ++ true + + + %(AdditionalLibraryDirectories) +@@ -206,13 +220,15 @@ + OldStyle + .c.C.cpp.CPP.h.H + true +- /d2guardsignret %(AdditionalOptions) ++ /d2guardsignret %(AdditionalOptions) ++ MaxSpeed ++ Speed + + + %(AdditionalLibraryDirectories) + %(AdditionalDependencies);setupapi.lib;cfgmgr32.lib;wpprecorder.lib; + true +- /guard:delayloadsignret %(AdditionalOptions) ++ /guard:delayloadsignret %(AdditionalOptions) + + + false +diff --git a/Dmf/Solution/DmfU/DmfU.vcxproj b/Dmf/Solution/DmfU/DmfU.vcxproj +index 9b9dd48..521b273 100644 +--- a/Dmf/Solution/DmfU/DmfU.vcxproj ++++ b/Dmf/Solution/DmfU/DmfU.vcxproj +@@ -46,7 +46,7 @@ + WindowsUserModeDriver10.0 + False + True +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + DbgengKernelDebugger +@@ -83,6 +83,22 @@ + .c.C.cpp.CPP.h.H + %(AdditionalIncludeDirectories);..\..; + true ++ MaxSpeed ++ Speed ++ MaxSpeed ++ Speed ++ MaxSpeed ++ Speed ++ true ++ MaxSpeed ++ Speed ++ true ++ MaxSpeed ++ Speed ++ true ++ MaxSpeed ++ Speed ++ true + + + /d2guardsignret %(AdditionalOptions) +diff --git a/Dmf/Solution/DmfUFramework/DmfUFramework.vcxproj b/Dmf/Solution/DmfUFramework/DmfUFramework.vcxproj +index 7ba02d9..cc174c6 100644 +--- a/Dmf/Solution/DmfUFramework/DmfUFramework.vcxproj ++++ b/Dmf/Solution/DmfUFramework/DmfUFramework.vcxproj +@@ -45,32 +45,32 @@ + + true + WindowsUserModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + false + WindowsUserModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + true + WindowsUserModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + true + WindowsUserModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + false + WindowsUserModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + false + WindowsUserModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + DbgengKernelDebugger +@@ -125,6 +125,22 @@ + %(AdditionalIncludeDirectories);..\..\Framework;..\..\Framework\Modules.Core + true + true ++ MaxSpeed ++ Speed ++ MaxSpeed ++ Speed ++ MaxSpeed ++ Speed ++ true ++ MaxSpeed ++ Speed ++ true ++ MaxSpeed ++ Speed ++ true ++ MaxSpeed ++ Speed ++ true + + + /d2guardsignret %(AdditionalOptions) +diff --git a/Dmf/Solution/DmfUModules.Library/DmfUModules.Library.vcxproj b/Dmf/Solution/DmfUModules.Library/DmfUModules.Library.vcxproj +index 214e8bb..d863a9b 100644 +--- a/Dmf/Solution/DmfUModules.Library/DmfUModules.Library.vcxproj ++++ b/Dmf/Solution/DmfUModules.Library/DmfUModules.Library.vcxproj +@@ -45,32 +45,32 @@ + + true + WindowsUserModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + false + WindowsUserModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + true + WindowsUserModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + true + WindowsUserModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + false + WindowsUserModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + false + WindowsUserModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + DbgengKernelDebugger +@@ -141,6 +141,22 @@ + stdcpp17 + stdcpp17 + stdcpp17 ++ MaxSpeed ++ Speed ++ MaxSpeed ++ Speed ++ MaxSpeed ++ Speed ++ true ++ MaxSpeed ++ Speed ++ true ++ MaxSpeed ++ Speed ++ true ++ MaxSpeed ++ Speed ++ true + + + /d2guardsignret %(AdditionalOptions) +diff --git a/Dmf/Solution/DmfUModules.Template/DmfUModules.Template.vcxproj b/Dmf/Solution/DmfUModules.Template/DmfUModules.Template.vcxproj +index 7c285cc..436bf4f 100644 +--- a/Dmf/Solution/DmfUModules.Template/DmfUModules.Template.vcxproj ++++ b/Dmf/Solution/DmfUModules.Template/DmfUModules.Template.vcxproj +@@ -45,12 +45,12 @@ + + true + WindowsUserModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + false + WindowsUserModeDriver10.0 +- $(LatestTargetPlatformVersion) ++ 10.0.19041.0 + + + +@@ -84,9 +84,25 @@ + true + true + stdcpp17 ++ MaxSpeed ++ Speed ++ MaxSpeed ++ Speed ++ MaxSpeed ++ Speed ++ true ++ MaxSpeed ++ Speed ++ true ++ MaxSpeed ++ Speed ++ true ++ MaxSpeed ++ Speed ++ true + + +- /d2guardsignret %(AdditionalOptions) ++ /d2guardsignret %(AdditionalOptions) + + + %(AdditionalDependencies);hid.lib;setupapi.lib;cfgmgr32.lib; +@@ -94,7 +110,7 @@ + + + +- /guard:delayloadsignret %(AdditionalOptions) ++ /guard:delayloadsignret %(AdditionalOptions) + + + diff --git a/setup/ViGEmBus.aip b/setup/ViGEmBus.aip index bb984d7..d66728a 100644 --- a/setup/ViGEmBus.aip +++ b/setup/ViGEmBus.aip @@ -1,5 +1,5 @@ - + @@ -7,7 +7,7 @@ - + @@ -19,21 +19,24 @@ - + - - + + + + + @@ -48,9 +51,9 @@ - - - + + + @@ -65,34 +68,34 @@ - + - - - + + + - + @@ -233,17 +236,17 @@ - - - - + + + + @@ -312,6 +315,8 @@ + + @@ -344,7 +349,7 @@ - + diff --git a/sys/ViGEmBus.rc b/sys/ViGEmBus.rc index 1332911..6b43469 100644 --- a/sys/ViGEmBus.rc +++ b/sys/ViGEmBus.rc @@ -35,7 +35,7 @@ BEGIN VALUE "FileDescription", "Virtual Gamepad Emulation Framework Bus Driver" VALUE "FileVersion", "1.16.200.0" VALUE "InternalName", "Virtual Gamepad Emulation Framework Bus Driver" - VALUE "LegalCopyright", "(C) 2016-2020 Nefarius Software Solutions e.U." + VALUE "LegalCopyright", "(C) 2016-2022 Nefarius Software Solutions e.U." VALUE "OriginalFilename", "ViGEmBus.sys" VALUE "ProductName", "Virtual Gamepad Emulation Framework Bus Driver" VALUE "ProductVersion", "1.16.200.0" diff --git a/sys/ViGEmBus.vcxproj b/sys/ViGEmBus.vcxproj index 315d51c..c9828a6 100644 --- a/sys/ViGEmBus.vcxproj +++ b/sys/ViGEmBus.vcxproj @@ -68,7 +68,7 @@ Debug Win32 ViGEmBus - $(LatestTargetPlatformVersion) + 10.0.19041.0 * $(APPVEYOR_BUILD_VERSION) @@ -230,6 +230,9 @@ POOL_NX_OPTIN=1;POOL_ZERO_DOWN_LEVEL_SUPPORT;_X86_=1;i386=1;STD_CALL;%(PreprocessorDefinitions) stdcpp17 $(SolutionDir)include;$(SolutionDir)sdk\include;$(IntDir);%(AdditionalIncludeDirectories) + MaxSpeed + Speed + true $(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies);ntstrsafe.lib;usbdex.lib @@ -261,6 +264,9 @@ POOL_NX_OPTIN=1;POOL_ZERO_DOWN_LEVEL_SUPPORT;_WIN64;_AMD64_;AMD64;%(PreprocessorDefinitions) stdcpp17 $(SolutionDir)include;$(SolutionDir)sdk\include;$(IntDir);%(AdditionalIncludeDirectories) + MaxSpeed + Speed + true $(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies);ntstrsafe.lib;usbdex.lib @@ -290,6 +296,8 @@ true $(SolutionDir)include;$(SolutionDir)sdk\include;$(IntDir);%(AdditionalIncludeDirectories) POOL_NX_OPTIN=1;POOL_ZERO_DOWN_LEVEL_SUPPORT;_ARM_;ARM;_USE_DECLSPECS_FOR_SAL=1;STD_CALL;%(PreprocessorDefinitions) + MaxSpeed + Speed %(AdditionalDependencies);ntstrsafe.lib @@ -320,6 +328,8 @@ stdcpp17 5040;4064;4627;4627;4366;%(DisableSpecificWarnings) POOL_NX_OPTIN=1;POOL_ZERO_DOWN_LEVEL_SUPPORT;_ARM64_;ARM64;_USE_DECLSPECS_FOR_SAL=1;STD_CALL;%(PreprocessorDefinitions) + MaxSpeed + Speed %(AdditionalDependencies);ntstrsafe.lib;usbdex.lib