3

I am trying to develope Umdf driver and i am completly naive to driver developement, I have taken a wdk sample code from following url :-

https://code.msdn.microsoft.com/windowshardware/Windows-Biometric-Driver-718005d7

I have changed the hardware id in the inx file and rebuilt the driver project and installed the resulting driver on a separate windows 7 pc. Driver got installed successfully but there is one error showing up :-

The device cannot start . (code 10)

Can anyone suggest what could be the possible thing i am missing ? I just want to test the drivers loading successfully.

vineet pant
  • 77
  • 1
  • 9
  • I am not sure whether this is the issue, but in the link you provided, under the OS requirements section it shows that the Client would require 'Windows 8'. – vvvv Oct 15 '14 at 07:30
  • Thanks for the suggestion, actually it is written there that it requires windows 8 but i think there must some way to make it run on windows 7. because iam using wdk 8.1 it works for windows 7. I dont know what exactly should be done to make it work. – vineet pant Oct 16 '14 at 09:30
  • This http://pcsupport.about.com/od/findbyerrormessage/a/code-10-error.htm link says: Cause of the Code 10 Error A Code 10 error is generated when Device Manager can't start the hardware device, a situation usually caused by outdated or corrupted drivers. A device may also receive a Code 10 error if a driver generates an error that Device Manager doesn't understand. In other words, a Code 10 error can sometimes be a very generic message indicating some kind of unspecified driver or hardware problem. – vvvv Oct 16 '14 at 11:06
  • You can see my answer here where I explain step by step https://stackoverflow.com/a/54913695/403999 I am using windows 10 as a host and target machine. Greetings – Juan Rojas Feb 27 '19 at 20:23

1 Answers1

2

I had the same issue.

In this article I found interesting remark:

The .INF file used to install the virtual device is almost identical to the one from the UMDFSkeleton example. Just one row was added:

UmdfKernelModeClientPolicy=AllowKernelModeClients

To allow a kernel-mode driver to load above the user-mode driver and to deliver requests from the kernel-mode to the user-mode driver. I'm not exactly sure of which kernel mode driver runs above the virtual reader driver, but removing this line from the inf file, we simply do not get any I/O request notifications in our Queue object.

After adding this row in section [MyDevice_Install.NT.Wdf] and reinstalling driver my device startup normally.

Community
  • 1
  • 1
plstryagain
  • 686
  • 5
  • 9