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