quick correction: After some adjustments, I can see my vmidi driver, but everything is stacked with '?'s (see screenshot) From: xaseriii@xxxxxxxxxx To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: StartDevice Empty Resource List? Date: Mon, 10 Jun 2013 22:16:17 +0200 Hi, You will never see interrupts, and you will not implement an ISR. thank god!^^ Can you see and instantiate the device in graphedt or ksstudio? No, I can only see the MIDI ports of my other MIDI devices, what do you mean by instantiate in this context? I had some odd behaviour on my virtual testing machine, whenever I change the name property of the AddService directive in my inf file, devcon and my own installer wouldn't install the driver anymore. Accordingly to MSDN, the name property can be chosen randomly, and it worked again after I have reverted my VM to an earlier state, but after that I couldn't change it again. Is that a sign for a problem with the driver? I have also attached the Filter Factory code for my driver, it should be here were something goes wrong. I have configured the Pins and dataranges accordingly to MSDN so they SHOULD be detected as MIDI pins and be visible to midiIn/Out functions. Regards, Max Date: Mon, 10 Jun 2013 10:33:49 -0700 From: timr@xxxxxxxxx To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: StartDevice Empty Resource List? Max K wrote: Over the last days, I have made huge progress in understanding KS and especially PortCls. I still can't however create a MIDI port that can be found using midiInGetDevCaps. I am probably missing something very important in correct startup of the driver. Can you see and instantiate the device in graphedt or ksstudio? Apparently, you don't necessarily need to have interfaces defined in your inf files. I looked at a couple of inf files of my midi keyboards here and none of them defines any interfaces (except one driver, which specifies his topology interface). That's true. KsInitializeDriver and KsCreateFilterFactory will both register the interfaces for you, based on the information you provide in your KSFILTER_DESCRIPTOR. I wonder, when a Midi Stream in the miniport is supposed to be created and by who. Will the OS call the newStream function when the driver is completely loaded or when a client connects to the midi port? Or do I need to create it in some kind of ISR? The system will do this when some client opens a MIDI port. I haven't worried too much about the Interrupts as it wasn't well documented in the audio section (the only thing I found there was how to notify the Port that a hardware interrupt was triggered) and the sample didn't seem to do very much in the ISRs. You are a virtual driver. There is no hardware. You will never see interrupts, and you will not implement an ISR. -- Tim Roberts, timr@xxxxxxxxx Providenza & Boekelheide, Inc.
Attachment:
ksstudio.PNG
Description: PNG image