[wdmaudiodev] Re: Dynamic subdevice creation

  • From: "Jeff Pages" <jeff@xxxxxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Fri, 5 Dec 2008 10:54:32 +1100

Thanks for your suggestions, Uwe and Eugene.

In my application I don't have a convenient IRP I can use when an audio component appears on the broadcast multiplex, but out of curiosity I tried passing NULL as the IRP pointer to IPort::Init and it appears to work okay on both XP and Vista. I'd still sleep easier if I knew this was really an acceptable thing to do. Does anyone know if IPort::Init actually does anything with the IRP pointer?

I note Eugene's comment about "only a few dynamic subdevices". In my case that's probably okay, as the number of audio services that can be transmitted on a DAB multiplex is fairly limited, even with the new DAB+ version. I'll see how I go with it, but I'd really prefer to avoid all the overhead of creating a buss driver if I can. I've taken note of Mitch's advice from January 2007 about the order in which subdevices and physical connections need to be registered and unregistered, so hopefully it'll be okay.

Jeff


----- Original Message ----- From: "Uwe Kirst" <u.kirst@xxxxxx>
To: <wdmaudiodev@xxxxxxxxxxxxx>
Sent: Thursday, December 04, 2008 8:27 PM
Subject: [wdmaudiodev] Re: Dynamic subdevice creation


Jeff Pages schrieb:
I'm developing the driver for a digital radio receiver card which needs to dynamically create audio subdevices for each audio channel it finds on the broadcast multiplex. However in creating a subdevice I need to call IPort::Init which requires a pointer to the IRP_MN_START_DEVICE Irp the driver received on startup, but by the time everything's running and it's identified the various audio components on the multiplex, that Irp has long gone.
I have successfully used another irp for that purpose: the irp from my device ioctl function which toggles the subdevice creation. Seems to work here.
/Uwe


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

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: