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

Home NTDEV

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/


Before Posting...

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

HLK FAILURE DF - PNP Surprise Remove Device Test (Reliability) on Win2019 only, Win2016 passes

pjn4pjn4 Member Posts: 6

We are trying to get Microsoft HLK certifications for our device driver on WinServer2016 and WinServer 2019. We are using the same driver on WindServer 2016 and WindServer 2019. It always passes on WindServer 2016 and fails on WindSErer 2019. The device is a PCI device and therefore is nt removable and therefore we don't support Plug and Play. Has anyone else seen this issue? Can you offer any suggestions?

WinSever 2019 Errors Below

WDTF_PNP : Result: Failed to receive IRP_MN_REMOVE_DEVICE after receiving IRP_MN_SURPRISE_REMOVAL. Ensure that there are no open handles or references to the test device (in user mode or in kernel mode) preventing IRP_MN_REMOVE_DEVICE from being sent. You may need to terminate any processes or services that may have open user mode handles to this device. ( 80004005 ).

WDTF_PNP : Result: Successful , but device not started, ( Status=1802002 (DN_DRIVER_LOADED DN_DISABLEABLE DN_NT_ENUMERATOR DN_NT_DRIVER ) Problem=0 () )..

WDTF_TARGET : WDTF.ConcurrentIO.1 SetTarget() ERROR : CWDTFConcurrentIOImpl::SetTarget() Failed to open the EDT device Win32=1 - Incorrect function.
Win32=1 - Incorrect function.

WDTF_TARGET : WDTF.ConcurrentIO.1 SetTarget() ERROR : CWDTFConcurrentIOImpl::SetTarget() Failed to open the EDT device Win32=1 - Incorrect function.
Win32=1 - Incorrect function.
Win32=1 - Incorrect function.

WDTF_PNP : Result: Device is not started.

WDTF_PNP : Result: Successful , but device not started, ( Status=1802002 (DN_DRIVER_LOADED DN_DISABLEABLE DN_NT_ENUMERATOR DN_NT_DRIVER ) Problem=0 () )..

WDTF_TARGET : WDTF.ConcurrentIO.1 SetTarget() ERROR : CWDTFConcurrentIOImpl::SetTarget() Failed to open the EDT device Win32=1 - Incorrect function.
Win32=1 - Incorrect function.

WDTF_TARGET : WDTF.ConcurrentIO.1 SetTarget() ERROR : CWDTFConcurrentIOImpl::SetTarget() Failed to open the EDT device Win32=1 - Incorrect function.
Win32=1 - Incorrect function.
Win32=1 - Incorrect function.

WDTF_PNP : Result: Device is not started.

WDTF_PNP : Result: Successful , but device not started, ( Status=1802002 (DN_DRIVER_LOADED DN_DISABLEABLE DN_NT_ENUMERATOR DN_NT_DRIVER ) Problem=0 () )..

WDTF_TEST : Found a device that has a non-zero problem code or is phantom. Logging device info.

Comments

  • Doron_HolanDoron_Holan Member - All Emails Posts: 10,600

    The device is a PCI device and therefore is nt removable and therefore we don't support Plug and Play

    By not support PnP, do you mean not supporting IRP_MJ_PNP at all or you have just enough pnp to support getting your device up and running and don't support all of the expected states? Being an embedded device doesn't mean you get to forgo supporting PnP, I am surprised your non PnP driver works across system power transitions. Also, it is a common misconception that a surprise remove only represents physical removal of the device, a surprise remove also represents a software removal / reset of the device and can happen regardless of how the device is physically connected to the machine.

    d
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

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!
Developing Minifilters 24 May 2021 Live, Online
Writing WDF Drivers 14 June 2021 Live, Online
Internals & Software Drivers 27 September 2021 Live, Online
Kernel Debugging 15 November 2021 Live, Online