Display driver works on Windows 10 but not on Win server 2016/2019

Hi there! I am very new to driver development, so sorry if my question is trivial, already search over the web to find the solution but with no success.

I’ve downloaded Indirect Display Driver Sample from Microsoft at https://github.com/microsoft/Windows-driver-samples/tree/master/video/IndirectDisplay and managed to compile and test on Windows 10 environment, it work perfectly, but I cannot make it work on Windows Server environment, already tried to enable TestSigning, reboot without signing enforcement, change _NT_TARGET_VERSION, but without luck.

Any clue what I am doing wrong?

Here is my setupapi.dev.log (from Windows Server 2016 std test environment):

[Device Install (DiInstallDevice) - ROOT\DISPLAY\0002]
Section start 2022/04/30 01:15:04.793
cmd: “C:\Windows\system32\mmc.exe” C:\Windows\system32\devmgmt.msc
ndv: Flags: 0x00000002
dvi: Class GUID of device remains: {4d36e968-e325-11ce-bfc1-08002be10318}.
sto: {Setup Import Driver Package: c:\vai\release\iddsampledriver\iddsampledriver.inf} 01:15:04.793
sto: Driver package already imported as ‘oem14.inf’.
sto: {Setup Import Driver Package - exit (0x00000000)} 01:15:04.808
dvi: Class GUID of device remains: {4d36e968-e325-11ce-bfc1-08002be10318}.
dvi: {Plug and Play Service: Device Install for ROOT\DISPLAY\0002}
ndv: Driver INF Path: C:\Windows\INF\oem14.inf
ndv: Driver Node Name: iddsampledriver.inf:c14ce8840c48fa1f:MyDevice_Install:4.15.33.662:root\iddsampledriver
ndv: Driver Store Path: C:\Windows\System32\DriverStore\FileRepository\iddsampledriver.inf_amd64_bb455d1bf658300e\iddsampledriver.inf
dvi: Class GUID of device changed to: {4d36e968-e325-11ce-bfc1-08002be10318}.
ndv: {Core Device Install} 01:15:05.105
! pol: Selected driver node does not match this device (force-install)
ndv: {Install Device - ROOT\DISPLAY\0002} 01:15:05.105
ndv: Parent device: HTREE\ROOT\0
! ndv: Unable to determine matching device ID for oem14.inf. Error = 0xE0000228
! ndv: Unable to configure device, falling back to standard device installation.
dvi: {DIF_ALLOW_INSTALL} 01:15:05.121
dvi: Using exported function ‘DisplayClassInstaller’ in module ‘C:\Windows\system32\DispCI.dll’.
dvi: Class installer == DispCI.dll,DisplayClassInstaller
dvi: Using exported function ‘CoDeviceInstall’ in module ‘C:\Windows\system32\WUDFCoinstaller.dll’.
dvi: CoInstaller 1 == WUDFCoinstaller.dll
dvi: CoInstaller 1: Enter 01:15:05.121
dvi: CoInstaller 1: Exit
dvi: Class installer: Enter 01:15:05.121
dvi: Class installer: Exit
dvi: Default installer: Enter 01:15:05.137
dvi: Default installer: Exit
dvi: {DIF_ALLOW_INSTALL - exit(0xe000020e)} 01:15:05.137
dvi: {DIF_INSTALLDEVICEFILES} 01:15:05.137
dvi: CoInstaller 1: Enter 01:15:05.137
dvi: CoInstaller 1: Exit
dvi: Class installer: Enter 01:15:05.137
dvi: Class installer: Exit
dvi: Default installer: Enter 01:15:05.137
dvi: Default installer: Exit
dvi: {DIF_INSTALLDEVICEFILES - exit(0x00000000)} 01:15:05.137
flq: File ‘C:\Windows\system32\DRIVERS\UMDF\IddSampleDriver.dll’ pruned from copy.
dvi: {DIF_REGISTER_COINSTALLERS} 01:15:05.199
dvi: Reset Device: Resetting device configuration. 01:15:05.199
dvi: Reset Device: Resetting device configuration completed. 01:15:05.215
dvi: CoInstaller 1: Enter 01:15:05.215
dvi: CoInstaller 1: Exit
dvi: Class installer: Enter 01:15:05.215
dvi: Class installer: Exit
dvi: Default installer: Enter 01:15:05.215
dvi: {DIF_DESTROYPRIVATEDATA} 01:15:05.215
dvi: CoInstaller 1: Enter 01:15:05.215
dvi: CoInstaller 1: Exit
dvi: Class installer: Enter 01:15:05.215
dvi: Class installer: Exit
dvi: Default installer: Enter 01:15:05.215
dvi: Default installer: Exit
dvi: {DIF_DESTROYPRIVATEDATA - exit(0xe000020e)} 01:15:05.230
dvi: Default installer: Exit
dvi: {DIF_REGISTER_COINSTALLERS - exit(0x00000000)} 01:15:05.230
dvi: {DIF_INSTALLINTERFACES} 01:15:05.230
dvi: Using exported function ‘CoDeviceInstall’ in module ‘C:\Windows\system32\WUDFCoinstaller.dll’.
dvi: CoInstaller 1 == WUDFCoinstaller.dll
dvi: CoInstaller 1: Enter 01:15:05.230
dvi: CoInstaller 1: Exit
dvi: Class installer: Enter 01:15:05.230
dvi: Class installer: Exit
dvi: Default installer: Enter 01:15:05.230
dvi: Default installer: Exit
dvi: {DIF_INSTALLINTERFACES - exit(0x00000000)} 01:15:05.230
dvi: {DIF_INSTALLDEVICE} 01:15:05.246
dvi: CoInstaller 1: Enter 01:15:05.246
!!! dvi: CoInstaller 1: failed(0x00000057)!
!!! dvi: Error 87: The parameter is incorrect.
dvi: {DIF_INSTALLDEVICE - exit(0x00000057)} 01:15:05.277
!!! ndv: Error(00000057) installing device!
! ndv: Queueing up error report since device installation failed…
ndv: {Install Device - exit(0x00000057)} 01:15:05.324
ndv: {Core Device Install - exit(0x00000057)} 01:15:05.324
dvi: {DIF_DESTROYPRIVATEDATA} 01:15:05.324
dvi: CoInstaller 1: Enter 01:15:05.324
dvi: CoInstaller 1: Exit
dvi: Class installer: Enter 01:15:05.324
dvi: Class installer: Exit
dvi: Default installer: Enter 01:15:05.324
dvi: Default installer: Exit
dvi: {DIF_DESTROYPRIVATEDATA - exit(0xe000020e)} 01:15:05.324
ump: {Plug and Play Service: Device Install exit(00000057)}
!!! ndv: Device install failed for device.
!!! ndv: Error 87: The parameter is incorrect.
ndv: Installing NULL driver.
dvi: {Plug and Play Service: Device Install for ROOT\DISPLAY\0002}
! ndv: Installing NULL driver!
dvi: {DIF_ALLOW_INSTALL} 01:15:05.402
dvi: Using exported function ‘DisplayClassInstaller’ in module ‘C:\Windows\system32\DispCI.dll’.
dvi: Class installer == DispCI.dll,DisplayClassInstaller
dvi: Class installer: Enter 01:15:05.418
dvi: Class installer: Exit
dvi: Default installer: Enter 01:15:05.418
dvi: Default installer: Exit
dvi: {DIF_ALLOW_INSTALL - exit(0xe000020e)} 01:15:05.418
dvi: {DIF_REGISTER_COINSTALLERS} 01:15:05.418
dvi: Class installer: Enter 01:15:05.418
dvi: Class installer: Exit
dvi: Default installer: Enter 01:15:05.433
dvi: Default installer: Exit
dvi: {DIF_REGISTER_COINSTALLERS - exit(0x00000000)} 01:15:05.433
dvi: {DIF_INSTALLDEVICE} 01:15:05.433
dvi: Class installer: Enter 01:15:05.433
dvi: Class installer: Exit
dvi: Default installer: Enter 01:15:05.433
! dvi: Installing NULL driver!
dvi: Install Null Driver: Removing device sub-tree. 01:15:05.433
dvi: Install Null Driver: Removing device sub-tree completed. 01:15:05.449
dvi: Install Null Driver: Restarting device. 01:15:05.449
dvi: Install Null Driver: Restarting device completed. 01:15:05.449
dvi: Install Device: Configuring device class. 01:15:05.449
dvi: Install Device: Configuring device class completed. 01:15:05.449
dvi: Install Device: Starting device. 01:15:05.449
dvi: Install Device: Starting device completed. 01:15:05.465
dvi: Default installer: Exit
dvi: {DIF_INSTALLDEVICE - exit(0x00000000)} 01:15:05.465
dvi: {DIF_DESTROYPRIVATEDATA} 01:15:05.465
dvi: Class installer: Enter 01:15:05.465
dvi: Class installer: Exit
dvi: Default installer: Enter 01:15:05.480
dvi: Default installer: Exit
dvi: {DIF_DESTROYPRIVATEDATA - exit(0xe000020e)} 01:15:05.480
ump: {Plug and Play Service: Device Install exit(00000000)}
<<< Section end 2022/04/30 01:15:05.480
<<< [Exit status: FAILURE(0x00000057)]