Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Home NTDEV

Before Posting...

Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging


The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.


Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/


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

pst6pst6 Member Posts: 1

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)]

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Internals & Software Drivers 7 February 2022 Live, Online
Kernel Debugging 21 March 2022 Live, Online
Developing Minifilters 23 May 2022 Live, Online
Writing WDF Drivers 12 September 2022 Live, Online