[wdmaudiodev] StartDevice Empty Resource List?

  • From: Revan Foly <xaseriii@xxxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Wed, 5 Jun 2013 12:31:20 +0200

Hi guys,

quite a while ago, I joined this mailing list to ask some questions about 
virtual MIDI Drivers (twice), but eventually gave up on it, because I had been 
too inexperienced in driver programming (and probably still am) and because 
there was little help in form of actual source code.

Well at the time, I just moved to the next best alternative which was Tobias 
Erichsen's virtualMIDI-Driver and SDK which did the job so far, however I now 
have developed a little Microcontroller Board that I want to use as MIDI device 
and I now need a mixture of a virtual and real MIDI driver. So back to the 
WDK...

I now have been able to use the DMusUART and MPU401 adapter Sample to create an 
installable driver that frankly does nothing so far. I understand quite a bit 
of whats going on in the miniport part of the driver and stripped the DMusUART 
sample of most hardware related stuff.

Where I'm stuck now is the part where the virtual Device ist started and the 
MIDI ports are created (i.e. the MIDI Pin of the miniport driver is connected 
to a resource i believe). As opposed to Tobias' virtualMIDI driver, i do not 
require dynamic creation of ports, so I added an interfaces section to my inf 
file:

[vmidi.NTamd64.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Wave%,vmidi.Wave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_Wave%,vmidi.Wave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_Wave%,vmidi.Wave

[vmidi.Wave]
AddReg=vmidi.Wave.AddReg

[vmidi.Wave.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,"VMIDI Wave"

And indeed DbgView shows that the system is calling the startDevice function of 
the adapterpart of the driver, however apparently the ResourceList is empty and 
therefore no Miniport is created. If i circumpass the if checking the 
ResourceList for entries, I create a bluescreen.

MSDN again isn't too much help, some part are very well documented, others 
nearly not at all.

Maybe you guys can bring me on the right track.

Regards,
Max
                                          

Other related posts: