Hi Tim, thanks for the response. Since I already have the stub-driver based on the DMusUART and the MPU401 sample running (just one static port though) I would prefer to implement it this way... I have yet again browsed the mailing-list concerning the issue to create dynamic sub-devices with a completely dynamic (non-inf-file pre-defined) friendly-name. There have been a real big amount of posts concerning this issue, both from people writing audio as well as midi-drivers (and both real-hardware-based as well as virtual software-only devices). Yet - there has not been any single instance where substancial help has been given by the people from Microsoft who are usually posting on this mailing-list? Possibly this info has been given via private mail, but since these questions seem to popup over & over again, it would be helpful to clear things up once and for all... So I dearly hope that I will finally get some feedback (and thus all people craving for the answers) from some guys from MS... Best regards, Tobias ________________________________ Von: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] Im Auftrag von Tim Roberts Gesendet: Freitag, 27. März 2009 22:20 An: wdmaudiodev@xxxxxxxxxxxxx Betreff: [wdmaudiodev] Re: AW: Re: Generic Virtual MIDI-driver... Tobias Erichsen wrote: I'm currently working on a small stub-driver that is based on MPU-401, DMusUART (and some hints from DDKSynth & MSVAD) and I intend to add to this driver until my mission is fulfilled ;-) I'm creating my INF-file by taking hints from the MSVAD-inf and some other INFs I found for MIDI-drivers on the net... I have a couple of questions concerning my quest: 1. Is it possible to write such a driver & the corresponding INF-file that installs, but initially does not register any subdevices? What would I need to specify in the INF-file to get this going? 2. Do I need a topology for this kind of driver - I think I read somewhere that for simple MIDI-drivers a topology would not be necessary. 3. As I intend to have "real" dynamic sub-devices, I cannot specify any friendly-names within the INF-file, as I don't have any information about what those would be when the port is added later on. How would I go about implementing this? 4. If I understand the documenation correctly the custom KS properties reference existing sub-devices. As I intend to create those subdevices dynamically, I would figure that I would need to go the way as to implement custom IOCTLs & hooking the appropriate functions & structures in the driver-entry (hen & egg problem) - is this assessment correct? AVStream is really an incredibly flexible platform. Anything that you can do with the static data structures at installation and startup time can also be done dynamically, after your device is running. That is, it's quite possible to register yourself as "empty" at start up time, then add your capabilities later on. Ks will update the dynamic parts of the registry as you make your changes. There aren't necessarily good examples of this, but browsing the Ks API may give you a hint. What I DON'T know is how the audio architecture as a whole is interacts with these kinds of dynamic changes. Will they recognize friendly names? Will the more primitive APIs (like midiInOpen) catch any new sources? This is were my empirical knowledge falls short. -- Tim Roberts, timr@xxxxxxxxx Providenza & Boekelheide, Inc.