nope, I reverted my VM to a state where there can't be a cache of the inf. There is probably a way to do this using SetupAPI but I cannot figure it out. Regards, Max From: HarryGraham@xxxxxxxxxx To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: Getting a MIDI Driver Port enumerated. Date: Wed, 12 Jun 2013 21:46:05 +0000 The .inf file is probably cached. Make sure you tell device manager to delete the driver when uninstalling. Harry From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Max K Sent: Wednesday, June 12, 2013 2:44 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: Getting a MIDI Driver Port enumerated. Right, desperate me just tried to enter the missing reg key manually using regedit.. and it worked. So basically if someone can just tell me how to properly get this reg key created.. we are done! (rest can't be that hard.. *cough*) I tried adding the AddInterface directive to the inf file, it had not effect what-so-ever. Regards, Max From: xaseriii@xxxxxxxxxx To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: Getting a MIDI Driver Port enumerated. Date: Wed, 12 Jun 2013 23:09:16 +0200 As Tim wrote before, that inf directive should not be neccessary: "That's true. KsInitializeDriver and KsCreateFilterFactory will both register the interfaces for you, based on the information you provide in your KSFILTER_DESCRIPTOR." Also MSVAD is only adding a topology interface there, I don't have a topology as such. I'll experiment a bit with that directive. Thanks, Max From: Matthew.van.Eerde@xxxxxxxxxxxxx To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: Getting a MIDI Driver Port enumerated. Date: Wed, 12 Jun 2013 20:54:46 +0000 Are you populating those via your .inf or at runtime? Here’s how MSVAD does it. [MSVAD_Simple.Interfaces] … AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Topology%,MSVAD.I.Topo [MSVAD.I.Topo] AddReg=MSVAD.I.Topo.AddReg [MSVAD.I.Topo.AddReg] HKR,,CLSID,,%Proxy.CLSID% HKR,,FriendlyName,,%MSVAD.Topo.szPname% From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Max K Sent: Wednesday, June 12, 2013 1:38 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: Getting a MIDI Driver Port enumerated. yes it's there, but it lacks the key "Device Parameters" which should contain a CLSID and a friendly name. The Properties key is not accessible. From: Matthew.van.Eerde@xxxxxxxxxxxxx To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: Getting a MIDI Driver Port enumerated. Date: Wed, 12 Jun 2013 20:17:00 +0000 Do you see your filter factory under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\{6994ad04-93ef-11d0-a3cc-00a0c9223196} ? From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Max K Sent: Wednesday, June 12, 2013 1:07 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Getting a MIDI Driver Port enumerated. Hi, I have updated the title to reflect the current problem better (in case someone googles it). I have looked at all audio sample drivers, MSVad has a little bit of midi, but not as usefull as other samples. believe in addition to exposing a MIDI pin factory, you need to register your filter factory in the KSCATEGORY_AUDIO device interface. Right, I thought that would be done by ks.sys automatically as soon as it calls GetDescription on my driver. Regards, Max From: Matthew.van.Eerde@xxxxxxxxxxxxx To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: StartDevice Empty Resource List? Date: Wed, 12 Jun 2013 19:38:40 +0000 I believe the MSVad audio driver in the Windows Driver Kit exposes a MIDI path. I believe in addition to exposing a MIDI pin factory, you need to register your filter factory in the KSCATEGORY_AUDIO device interface. From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Max K Sent: Wednesday, June 12, 2013 12:34 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: StartDevice Empty Resource List? Hi, I have written my own midi device enumeration program already using SetupAPI, however I usually use KSstudio or grapdedit now anyways. My problem is not to enumerate the device but to make my MIDI device show up in the list, according to MSDN, all I have to do for that is to expose a MIDI pin, but that doesn't seem to suffice. Regards, Max From: Matthew.van.Eerde@xxxxxxxxxxxxx To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: StartDevice Empty Resource List? Date: Wed, 12 Jun 2013 19:27:00 +0000 The MMDevices key is for audio devices only, not MIDI devices. You can enumerate MIDI devices using the MIDI enumeration APIs. http://blogs.msdn.com/b/matthew_van_eerde/archive/2012/09/21/enumerating-midi-devices.aspx From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Max K Sent: Wednesday, June 12, 2013 12:18 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: StartDevice Empty Resource List? Hi again, I know managed to configure the Pins and Nodes in a way that I can instantiate them in graphedt, I used the Information from the DmusUart and FMsynth samples to set up the pins properly. However I still can't see a MIDI port, apparently, the driver still isn't installed correctly, some registry entries seem to be missing. KSStudio says: "SetupDiOpenDeviceInterfaceRegKey failed Enumerated [???] \\?\root#media#0001#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\vmidi SetupDiEnumDeviceInterfaces failed GetDeviceDetails failed." for each Interface category. I searched the registry a bit and found that I don't have an key for my device under CurrentControl/MMDevices, and I believe there should be. Maybe what devcon install does, isn't sufficient? Regards, Max From: xaseriii@xxxxxxxxxx To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: StartDevice Empty Resource List? Date: Tue, 11 Jun 2013 09:27:07 +0200 It doesn't appear under any of the WDM categories in graphedt? No, only the virtual HD Audio sound card. The service name can be chosen arbitrarily. However, the system will not allow you to have two services with different names but the same "DisplayName". That's probably what you were running into. Had you deleted the old one, you could have added the new one. Thanks, right on spot :) Date: Mon, 10 Jun 2013 16:15:19 -0700 From: timr@xxxxxxxxx To: wdmaudiodev@xxxxxxxxxxxxx CC: xaseriii@xxxxxxxxxx Subject: [wdmaudiodev] Re: StartDevice Empty Resource List? Max K wrote: No, I can only see the MIDI ports of my other MIDI devices, what do you mean by instantiate in this context? It doesn't appear under any of the WDM categories in graphedt? 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? The service name can be chosen arbitrarily. However, the system will not allow you to have two services with different names but the same "DisplayName". That's probably what you were running into. Had you deleted the old one, you could have added the new one. -- Tim Roberts, timr@xxxxxxxxx Providenza & Boekelheide, Inc.