microsoft, vc++, 2003, usb audio class, vc++, 2003

Is there a way to bind a usb audio device to a specific audio app so that no other audio app can access the same specific usb audio device while the first app is active (I would like to not to have to manually elect the device)?  Assume that I am using usb audio class, waveIn & waveOut.
Who is Participating?
MerijnBConnect With a Mentor Sr. Software EngineerCommented:
no, there is no way of achieving this the 'conventional' way, only if you make new driver for the microphone yourself which includes this functionality.
Even then it would be quite simple for a user to reinstall the normal driver and there you have your problem again... :|
this is tricky question, if your looking for vc++,  solutions this is not the right zone,
I am layman on that but put simply
to bind  usb audio device to a specific audio app in windows? depends what the USB audio device is playing, care to elaborate what this USB audio device is?
take for example I can have my stereo connected to my pc and use any media player to play it, if the audio files have a file association such as mp3 then you simply disable the file association in all media players then they wont see them.

I dont know what your talking about really its very broad, but rightclick the audio file and open with choose to always use the program of your choice.

If this is an ipod for ITunes then that's another story.
Please come back and fill in some details
Cheers Merete

lmenascoAuthor Commented:
I'll try to elaborate a bit.  The binding I'm talking about is to have a usb audio device (in this case I'm using a micronas usb audio codec chip) bound to a specific audio application in such a way as to cause that device to be exclusive to that one app, and prevent other audio apps from having access while the first app is still active (in this case, and app that I wrote).  When the micronas usb chip is plugged in, XP now loads a generic composite usb driver, which allows me to address it via waveIn and waveOut.  But so can any other audio app, because it shows up in the wave_mapper enumeration.  I know that as long as I don't make it the default, then the other apps would generally stay clear, but I would like with certainty to prevent any other apps from accessing the particular audio device.  In essence, I'm looking for some way on the XP platform to be able to do what the new Vista Core Audio Api does with their exclusive-mode audio streaming, where an audio app can address an audio device exclusively, and prevent other apps from having access while it is active.  And for other reasons I won't go into for the moment, I need to stick with the XP os.  I'd prefer not to have to write a driver to accomplish that task.

Any ideas or suggestions on where to look?

lmenascoAuthor Commented:
A PS, if you tell me there's no way of doing the way I'm approaching it now, that's ok too.  If I have to write a dedicated driver, then so be it.  I just wanted to make sure there wasn't an easier way or some flag or parameter, or process that was available to do the job that I might be missing.

lmenascoAuthor Commented:
It's what I suspected was the case.  I guess my next step is to find even a relatively simple driver example that gives me just the equivalent of waveIn and waveOut, there are other drivers that I am already using that allow me to do what the mixer control functions would ordinarally do, but more directly.  I just need audio io streaming capability.  I aready came across a means of at least binding a specific driver to a specific hardware port, so with a dedicated driver, I can probably create the binding I need.  One other thing I do have control over is the enumeration process/.asm code on the usb audio device.  I plan to eliminate the part that enumerates it as a generic composite device, and add instead an enumeration that would bring up the dedicated driver.  It's just a lot of extra work that I was hoping I could avoid!

Thanks again!
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.