Windows boot hangs after PrepareHardware returns successfully

  • Thread starter Thread starter Developer2718281828
  • Start date Start date
D

Developer2718281828

Guest
Greetings.

I am writing a driver for W7Pro64 to handle multiple identical PCI cards. DriverEntry is invoked and the Driver Object successfully created, registering my DeviceAdd routine. I have 3 PCI cards installed, and DeviceAdd is called three times, creating the WDF Device Object successfully. It also makes calls to WdfMemoryCreate to obtain non-paged memory in the course of building various data structures (in case this matters). Each call registers a unique PrepareHardware callback for each of the three devices (this to aid in debug--each PrepareHardware routine does the same thing). Following the three DeviceAdd calls, Windows makes a call to the first PrepareHardware (which appears to follow all the good health rules and returns with STATUS_SUCCESS). Windows then calls the DeviceD0Entry for the first card, which does nothing other than to return with STATUS_SUCCESS. Upon return, the Windows boot process hangs, never to return. PrepareHardware for the second and third cards are never called.

I've tried simplifying PrepareHardware to consist of just a successful return, but still Windows boot hangs before calling the PrepareHardware for the second or third cards.

Anything jumps to mind that might cause this? Can I use WdfMemoryCreate in DeviceAdd?

Any help would be appreciated.

Continue reading...
 
Back
Top