[wdmaudiodev] Re: audio driver questions

  • From: Tim Roberts <timr@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Wed, 26 Aug 2009 15:10:23 -0700

Tim Newsham wrote:
>  - Is it possible to unregister a miniport driver?  Ie. it would be
> nifty if I could create a miniport driver on demand from another
> device and then when that other device closed, unregister the
> miniport.  I noticed that miniport-based drivers like msvad can be
> loaded and unloaded from a live system just fine.  I just havent
> noticed any way to do this from within a driver.

Installation and uninstallation of drivers is a user-mode activity.

However, one way to do what you ask is to make your "other device" into
a bus driver.  When it is ready to have audio services available, you
call IoInvalidateDeviceRelations, which tells PnP to ask your driver
about its child devices.  You report the PnP ID for your audio device. 
The system will load your audio device, and it will start to run.

When you're ready to kill the device, you call
IoInvalidateDeviceRelations again, and return nothing.  Your audio
device will be shut down.

This is exactly what the USB bus driver does when a device plugs and
unplugs.  And, really, it's not that hard to do.

Tim Roberts, timr@xxxxxxxxx
Providenza & Boekelheide, Inc.


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


Other related posts: