[wdmaudiodev] AW: Re: Naming multiple MIDI miniports

  • From: Dominik Lübbers <dominik@xxxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Mon, 12 Mar 2007 14:17:02 +0100

Thanks for the immediate reply. That looks fairly easy.

Let's try to get one step further, since I would like to change the number
of available midi ports dynamically (if possible without rebooting the
system).
If I am right the names of the miniport "VMpuA" to "VMpuD" must correspond
to registry entries for the KSCATEGORY_AUDIO-interface for the device. These
are automatically generated when placing the appropriate
AddInterface-sections in the INF-file. Of course it shouldn't be a big
problem to copy the registry subtree from VMpuA to VMpuB if the user decides
to install a second midi port, but I wonder if there is an easier way: Isn't
it possible to supply the "FriendName" (usually taken from the
interface-registry-keys) directly by the driver??? I never liked working in
the registry directly...

Besides that: Is there an easy way to "reload" the driver (like deactivating
and reactivating it in the hardware panel), such that the miniports are
released and the (possibly changed) actual number of
InstallSubdevice-invocations is done.

Thanks for your help,

Best regards,
Dominik 


> -----Ursprüngliche Nachricht-----
> Von: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-
> bounce@xxxxxxxxxxxxx] Im Auftrag von BobF
> Gesendet: Montag, 12. März 2007 13:25
> An: wdmaudiodev@xxxxxxxxxxxxx
> Betreff: [wdmaudiodev] Re: Naming multiple MIDI miniports
> 
> This is how I do it for a four port virtual midi driver:
> 
>         // Start the UART miniport.
>         //
>         ntStatus = InstallSubdevice(
>                                     pDeviceObject,
>                                     pIrp,
>                                     L"VMpuA",
>                                     CLSID_PortMidi,
>                                     CLSID_MiniportDriverUart,
>                                     NULL,
>                                     ResourceList,
>                                     IID_IPortMidi,
>                                     NULL,
>                                     NULL
>                                     );
>         ntStatus = InstallSubdevice(
>                                     pDeviceObject,
>                                     pIrp,
>                                     L"VMpuB",
>                                     CLSID_PortMidi,
>                                     CLSID_MiniportDriverUart,
>                                     NULL,
>                                     ResourceList,
>                                     IID_IPortMidi,
>                                     NULL,
>                                     NULL
>                                     );
>         ntStatus = InstallSubdevice(
>                                     pDeviceObject,
>                                     pIrp,
>                                     L"VMpuC",
>                                     CLSID_PortMidi,
>                                     CLSID_MiniportDriverUart,
>                                     NULL,
>                                     ResourceList,
>                                     IID_IPortMidi,
>                                     NULL,
>                                     NULL
>                                     );
>         ntStatus = InstallSubdevice(
>                                     pDeviceObject,
>                                     pIrp,
>                                     L"VMpuD",
>                                     CLSID_PortMidi,
>                                     CLSID_MiniportDriverUart,
>                                     NULL,
>                                     ResourceList,
>                                     IID_IPortMidi,
>                                     NULL,
>                                     NULL
>                                     );
> 
> -----Original Message-----
> From: wdmaudiodev-bounce@xxxxxxxxxxxxx
> [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Dominik Lübbers
> Sent: Monday, March 12, 2007 5:14 AM
> To: wdmaudiodev@xxxxxxxxxxxxx
> Subject: [wdmaudiodev] Naming multiple MIDI miniports
> 
> I have successfully written a small MidiBridge (a kind of virtual Midi
> interface driver that allows me to establish a communication path between
> a
> Midi host and my own application). I would like to extend the number of
> MIDI
> ports that are offered by the driver.
> What is the easiest way to achieve this?
> 1. Changing the topology (maybe multiple pins? Do I need additional
> Synth-Nodes?)
> 2. Increasing the number of instantiated miniports?
> 
> Besides these alternatives: How do I give distinct names to the offered
> midi
> interfaces? For now, I name it in the FriendlyName-section of my INF-file
> 
> Thanks for any help,
> Dominik
> 
> ******************
> 
> 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/
> 
> 
> ******************
> 
> 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/

******************

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/

Other related posts: