My question is:
How to get the exact link between high level device ID and Hardware MID&PID
of an USB audio device? Or how to get the high level device ID of a given
MID&PID? Especailly when mutiple USB device is plug-in.

What we have tried:
We can open a particulary USB audio device by the device ID, such as using
uDeviceID to open a wave-audio by WaveInOpen() function. And we can also get
the Hardware MID&VID by other functions.
It's supposed that function like waveInGetDevCaps() can get MID&VID for a
given uDeviceID to build the link.
However, by using waveInGetDevCaps(), we always get:
mid = 0x1
pid = 0x65
according to definition:
#define MM_MICROSOFT 1 /* Microsoft Corporation
*/
#define MM_MSFT_WDMAUDIO_WAVEIN 101 /* Generic id for WDM
Audio drivers */

Could anyone help with solving this issue? Thanks!

Re: How to Link USB audio device ID with Hardware MID&PID by Tim

Tim
Thu Aug 03 23:07:34 CDT 2006

BB <BB@discussions.microsoft.com> wrote:
>
>My question is:
>How to get the exact link between high level device ID and Hardware MID&PID
>of an USB audio device? Or how to get the high level device ID of a given
>MID&PID? Especailly when mutiple USB device is plug-in.
>
>What we have tried:
>We can open a particulary USB audio device by the device ID, such as using
>uDeviceID to open a wave-audio by WaveInOpen() function. And we can also get
>the Hardware MID&VID by other functions.
>It's supposed that function like waveInGetDevCaps() can get MID&VID for a
>given uDeviceID to build the link.
>However, by using waveInGetDevCaps(), we always get:
> mid = 0x1
> pid = 0x65

The MID and PID to which you refer was a scheme invented by Microsoft for
their multimedia drivers many years before USB was invented. It never
caught on, and is no longer of any use (as you can see). It bears no
relation whatsoever to a USB VID/PID.

There is, in fact, no easy way to get from a waveInOpen() handle to a USB
VID/PID. There are just too many layers in between. Why do you need this?
--
- Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc.

Re: How to Link USB audio device ID with Hardware MID&PID by BB

BB
Mon Aug 07 11:43:03 CDT 2006

Hi, Tim:

Because if there are multiple USB devices plugged in, we need upper layer
function like WaveInOpen() to directly access the right device with right
VID/PID.
Though no easy way to get from a waveInOpen() handle to a USB VID/PID, there
is still some way? Could you advice? Thanks!

Brian

"Tim Roberts" wrote:

> BB <BB@discussions.microsoft.com> wrote:
> >
> >My question is:
> >How to get the exact link between high level device ID and Hardware MID&PID
> >of an USB audio device? Or how to get the high level device ID of a given
> >MID&PID? Especailly when mutiple USB device is plug-in.
> >
> >What we have tried:
> >We can open a particulary USB audio device by the device ID, such as using
> >uDeviceID to open a wave-audio by WaveInOpen() function. And we can also get
> >the Hardware MID&VID by other functions.
> >It's supposed that function like waveInGetDevCaps() can get MID&VID for a
> >given uDeviceID to build the link.
> >However, by using waveInGetDevCaps(), we always get:
> > mid = 0x1
> > pid = 0x65
>
> The MID and PID to which you refer was a scheme invented by Microsoft for
> their multimedia drivers many years before USB was invented. It never
> caught on, and is no longer of any use (as you can see). It bears no
> relation whatsoever to a USB VID/PID.
>
> There is, in fact, no easy way to get from a waveInOpen() handle to a USB
> VID/PID. There are just too many layers in between. Why do you need this?
> --
> - Tim Roberts, timr@probo.com
> Providenza & Boekelheide, Inc.
>



Re: How to Link USB audio device ID with Hardware MID&PID by qubit618

qubit618
Fri Sep 15 18:30:29 CDT 2006


"Tim Roberts" <timr@probo.com> wrote in message
news:hqh5d2t6mehmmplluntm4cnlip8knamu81@4ax.com...
> BB <BB@discussions.microsoft.com> wrote:
> >
> >My question is:
> >How to get the exact link between high level device ID and Hardware
MID&PID
> >of an USB audio device? Or how to get the high level device ID of a given
> >MID&PID? Especailly when mutiple USB device is plug-in.
> >
> >What we have tried:
> >We can open a particulary USB audio device by the device ID, such as
using
> >uDeviceID to open a wave-audio by WaveInOpen() function. And we can also
get
> >the Hardware MID&VID by other functions.
> >It's supposed that function like waveInGetDevCaps() can get MID&VID for a
> >given uDeviceID to build the link.
> >However, by using waveInGetDevCaps(), we always get:
> > mid = 0x1
> > pid = 0x65
>
> The MID and PID to which you refer was a scheme invented by Microsoft for
> their multimedia drivers many years before USB was invented. It never
> caught on, and is no longer of any use (as you can see). It bears no
> relation whatsoever to a USB VID/PID.
>
> There is, in fact, no easy way to get from a waveInOpen() handle to a USB
> VID/PID. There are just too many layers in between. Why do you need
this?

We need this to send audio signal to a SPECIFIC USB device. There could
have multiple USB device with name of "USB audio device".

> --
> - Tim Roberts, timr@probo.com
> Providenza & Boekelheide, Inc.