WinDDK UMDF Driver Samples install but do not load on Win7 x64

Hello,

I am new here and new with WinDDK.

I am trying to compile and install the umdf samples that come with the kit - I have the exact same problem with both the umdf skeleton and echo samples as well as another umdf sample from codeproject.com.

The drivers install and run fine on Win7 x86 but not on Win7 x64 where they (i.e. their x64 compiled versions and corrsponding x64 devcon and coinstaller) install successfully but then fail to load (even after reboot). I get an exclamation mark next to the device in device manager and an error stating “This device is not working properly because Windows cannot load the drivers required for this device. (Code 31)”

This seems pretty weird to me as I run the samples with no modofications at all and get the exact same error on two different laptops (both Win7 x64) and a pristine installation of win7 x64 Ultimate on a virtual machine.

I got WinDDK 7600.16385.1 and got it off the Microsoft site about 3 weeks ago.

I am kinda stuck right now - anyone seen this before? Any ideas?

Many thanks in advance,
Alex

You need to properly sign the driver package. For testing, you sign with a self created cert and follow some complex instructions to sign and then install that cert. If you use the win8 wdk, all of this is taken care of for you by the build system

d

debt from my phone


From: xxxxx@gmail.com
Sent: 7/2/2012 10:44 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] WinDDK UMDF Driver Samples install but do not load on Win7 x64

Hello,

I am new here and new with WinDDK.

I am trying to compile and install the umdf samples that come with the kit - I have the exact same problem with both the umdf skeleton and echo samples as well as another umdf sample from codeproject.com.

The drivers install and run fine on Win7 x86 but not on Win7 x64 where they (i.e. their x64 compiled versions and corrsponding x64 devcon and coinstaller) install successfully but then fail to load (even after reboot). I get an exclamation mark next to the device in device manager and an error stating “This device is not working properly because Windows cannot load the drivers required for this device. (Code 31)”

This seems pretty weird to me as I run the samples with no modofications at all and get the exact same error on two different laptops (both Win7 x64) and a pristine installation of win7 x64 Ultimate on a virtual machine.

I got WinDDK 7600.16385.1 and got it off the Microsoft site about 3 weeks ago.

I am kinda stuck right now - anyone seen this before? Any ideas?

Many thanks in advance,
Alex


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Thank you for the quick reply. I have also thought of that possibility but from what I gather umdf drivers do not require to be signed in order to run properly while kernel-mode drivers do.

Your umdf driver needs a km helper (the umdf infrastructure). While umdf itself is signed, you need the whole driver package to be signed

d

debt from my phone


From: xxxxx@gmail.com
Sent: 7/2/2012 11:04 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] WinDDK UMDF Driver Samples install but do not load on Win7 x64

Thank you for the quick reply. I have also thought of that possibility but from what I gather umdf drivers do not require to be signed in order to run properly while kernel-mode drivers do.


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Many thanks Doron! Will try it out and post back.

Hello again,

so, here are the results after looking into this.

I went and downloaded and installed Visual Studio 2012 RC which, for those interested, comes with 6 months trial time, is a greatly improved tool and comes with driver development and DDK integrated.

Turns out that although, as Doron said, drivers are transparently signed by VS/DDK (in my case test-signed), the produced x64 version of the umdf skeleton (or “hello word”) driver will actually install and load on Win7 x64 boxes even if the .cat file is physically removed and unreferenced in the .inf file and the target box is not testing enabled.

To me this seems to imply either that:

  • Microsoft is trying to untie umdf drivers from an enforced signature requirement for both x86 and x64 platforms, or
  • my problem was due to some bug present in my version of WinDDK (7600.16385.1) and maybe other versions as well

In any case, I am on my way now, so thank you Doron and list.

Cheers,
Alex

> - Microsoft is trying to untie umdf drivers from an enforced signature requirement for both x86 and

x64 platforms, or

IIRC the mandatory KMCS signature was only for kernel-mode binaries, not UMDF.

PnP/WHQL signatures cover both worlds, surely.


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com

A simpler explanation would be that you didn’t build the drivers for the x64 architecture before. Is it possible that you were building the driver for x86 and trying to install that on your system?

-p

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: Sunday, July 8, 2012 7:21 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] WinDDK UMDF Driver Samples install but do not load on Win7 x64

Hello again,

so, here are the results after looking into this.

I went and downloaded and installed Visual Studio 2012 RC which, for those interested, comes with 6 months trial time, is a greatly improved tool and comes with driver development and DDK integrated.

Turns out that although, as Doron said, drivers are transparently signed by VS/DDK (in my case test-signed), the produced x64 version of the umdf skeleton (or “hello word”) driver will actually install and load on Win7 x64 boxes even if the .cat file is physically removed and unreferenced in the .inf file and the target box is not testing enabled.

To me this seems to imply either that:

  • Microsoft is trying to untie umdf drivers from an enforced signature requirement for both x86 and x64 platforms, or
  • my problem was due to some bug present in my version of WinDDK (7600.16385.1) and maybe other versions as well

In any case, I am on my way now, so thank you Doron and list.

Cheers,
Alex


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Hi Maxim,

IIRC the mandatory KMCS signature was only for kernel-mode binaries, not UMDF.

Yes, this was my understanding as well and that’s why I was stuck. Then Doron suggested that x64 umdf drivers still needed to be package signed, which, even if it was the case before, is not anymore.

Cheers,
Alex

Hello Peter,

A simpler explanation would be that you didn’t build the drivers for the x64
architecture before. Is it possible that you were building the driver for x86
and trying to install that on your system?

I am pretty sure I was correctly building for x64 but in any case my x64 drivers were installing fine; it’s just that they would then not load (Code 31 error). My understanding is that if you attempt to install x86 drivers on Windows x64 you get an installation error (I was using DevCon).

Cheers,
Alex