Sample code hid/vhidmini2/

  • Thread starter Thread starter harikvpy
  • Start date Start date
H

harikvpy

Guest
I'm trying to get the UMDF HID sample code working. While I can build the driver, I can't seem to install it. I get the error:

Device node created. Install is complete when drivers are installed...
Updating drivers for root\VhidminiUm from C:\Users\hari\greasehouse\learning\vhidmini2\driver\umdf2\Debug\VhidminiUm\VhidminiUm.inf.
devcon.exe failed.

Digging into setupapi.dev.log, I see this:

{Update Device Driver - ROOT\SAMPLE\0000}
ndv: Search options: 0x00000080
ndv: Searching single INF 'C:\Users\hari\greasehouse\learning\vhidmini2\driver\umdf2\Debug\VhidminiUm\VhidminiUm.inf'
dvi: {Build Driver List} 17:27:23.681
dvi: Searching for hardware ID(s):
dvi: root\vhidminium
dvi: {Build Driver List - exit(0x00000000)} 17:27:23.730
! ndv: No matching drivers found in single INF
dvi: {DIF_SELECTBESTCOMPATDRV} 17:27:23.733
dvi: Default installer: Enter 17:27:23.735
dvi: {Select Best Driver}
! dvi: Selecting driver failed(0xe0000228)
dvi: {Select Best Driver - exit(0xe0000228)}
! dvi: Default installer: failed
! dvi: Error 0xe0000228: There are no compatible drivers for this device.
dvi: {DIF_SELECTBESTCOMPATDRV - exit(0xe0000228)} 17:27:23.743
! ndv: Unable to select best compatible driver. Error = 0xe0000228
ndv: No drivers found for device.

I have installed the test certificate to Trusted Root Certification Authorities and the Trusted Publishers certificate stores.

Could this be a problem with the INF file that is shipped with the sample?

Also, the "Creating WDF HID Minidrivers" document has a section that goes:

"Both MsHidUmdf.sys and MsHidKmdf.sys call the HID class driver's HidRegisterMinidriver routine to register as the actual HID minidriver. Although these drivers act as the device's function driver, they just pass I/O requests from the class driver to your driver (and are thus sometimes called pass-through drivers)."

However, I don't see any reference to HidRegisterMinidriver in the samle code. Since a UMDF HID driver is also a HID minidriver, shouldn't that too call HidRegisterMinidriver? If so, why is that missing from the sample code?

Any help will be appreciated. Thanks!

Continue reading...
 
Back
Top