Hi Jeff, since some of the WDM-mailing-lists message don't seem to be received (or dropped) by my email-server, I have reactivated my private account to continue this discussion and to not miss any other messages like yours below ;-) > I've recently done a bit of work involving dynamic subdevices with > dynamically assigned friendly names, in the context of a digital radio > (DAB+) capture card. Essentially what I do is use the system calls > IoRegisterDeviceInterface, IoOpenDeviceInterfaceRegistryKey and > ZwSetValueKey to create all the subdevice registry keys and values > normally done by the INF file. In my case I use the 16-bit DAB Service ID > number to uniquely identify each device I create, associating the > broadcast friendly name with that device via the registry calls when the > capture card detects a new service. I had seen your original post concerning the dynamic subdevice creation and hoped that you would be in on this as well :-) It is good to know that you succeeded in doing this... You don't happen to have a couple of lines of code that show what kind of strings you hand down to the API-calls - this would really be appreciated. > There is a caveat to this method, though, that once established the > friendly name for a particular subdevice ID is not so easily changed, > as I believe it's cached elsewhere in the registry (at least on Vista). > In my case this isn't an issue, as the friendly name associated with > each DAB service ID is generally fixed, and all I really need to do is > associate the name with the service ID in the registry when it's first > encountered. It should be possible to query any previous usage of an application- specified friendlyname and just reuse that GUID and for every new friendly-name a new GUID would need to be created - I guess that should work - right? Perhaps someone from MS could come in on this subject to give some more insights into this storage/caching of previously used GUIDs... > Regarding your final question, perhaps I'm missing something, but I > don't see why defining custom property sets should be a particular issue > with dynamic subdevices, as the property set automation tables are > defined when each subdevice is created. Since I want my dynamic subdevices to be created on behalf of an application, I need to register a private control-device-interface which I want to use to a.) create/destroy dynamic midi-ports and b.) to transfer actual MIDI-data between the application and this virtual midi-port. Since some people already seem to have done this by "hooking" the normal driver-entry-points and punting the unwanted calls to the mini-driver with PcDispatchIrp, I guess that this is a valid method to go by... Best regards, Tobias -- Neu: GMX FreeDSL Komplettanschluss mit DSL 6.000 Flatrate + Telefonanschluss für nur 17,95 Euro/mtl.!* http://dsl.gmx.de/?ac=OM.AD.PD003K11308T4569a ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.com/