[wdmaudiodev] Re: Problems about dynamic audio subdevice on Vista

  • From: "Jeff Pages" <jeff@xxxxxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Fri, 5 Jun 2009 13:05:31 +1000

Make sure that when a subdevice is instantiated, you create the wave and 
topology ports/miniports, register the physical connection, THEN register the 
wave subdevice and finally the topology subdevice. Likewise when removing a 
subdevice, unregister the topology subdevice first, then the wave subdevice, 
the physical connection and finally release the ports. Apparently if it's not 
done in that order, a race condition can occur which does what you're 


  ----- Original Message ----- 
  From: StarXing@xxxxxxxxxxxxxx 
  To: wdmaudiodev@xxxxxxxxxxxxx 
  Sent: Friday, June 05, 2009 12:49 PM
  Subject: [wdmaudiodev] Problems about dynamic audio subdevice on Vista

  Hello everyone,
  I am develping an audio driver which implement dynamic audio subdevice on 
windows vista.
  The audio subdevice can be instantiated/uninstantiated on behalf of user's 
request through device IO control.
  After instantiating the audio subdevice, the user would like to locate thate 
audio endpoints through MMDevice API and render through that device.
  In most cases these are running without trouble except two strange issues.
  1) Can't locate the audio subdevice through MMDevice API although we can see 
it in system audio control panel
  2) Can't see the audio subdevice in system audio control panel
  In case 2, the audio subdevice will appear in system audio control panel if 
we restart the "Windows Audio Endpoint Builder" services.
  Any pointers on these 2 issues are greatly appreciated.
  Thanks and regards,

Other related posts: