[wdmaudiodev] Re: Control Tranfers using Winmm.dll to a USB device

  • From: "Perry, Chris" <Chris_Perry@xxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Fri, 29 Jun 2007 11:05:16 -0400

To use the "Message" API calls Larry is talking about below implies that the 
programmer knows what custom messages are 

defined by the audio device manufacturer. This information is potentially 
unique to just that one device. 

 

Keep in mind these messages were designed when ISA and/or PCI audio board 
drivers were the norm. 

 

Since USB itself provides a different mechanism to achieve the same 
functionality,  

I would guess that Microsoft saw no need to implement these "Message" APIs for 
USB audio devices.

 

So... what is the mechanism for sending custom messages to a USB audio device?

 

Since a USB audio device is defined as a composite device it has an interface 
to the audio stack for streaming audio and a control interface

for commands (like volume up/down, etc.). It can also have a HID interface. The 
Microsoft USB audio class drivers take care of sending and receiving

the standard audio control messages but additional custom HID Reports can be 
defined by the audio device firmware.

 

For instance, a USB pipe can be configured to accept HID messages from the PC.

Also, another USB pipe can be configured to send events/messages back to the PC.

If a developer knows what HID Reports are defined for a particular USB Audio 
device, 

then by definition there is now a mechanism to exchange custom information with 
the device.

 

-Chris Perry

 

 

From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Larry Osterman
Sent: Thursday, June 28, 2007 7:02 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: Control Tranfers using Winmm.dll to a USB device

 

In general, the MME messages (waveInMessage, waveOutMessage, mixerMessage, 
midiMessage, etc) are used to communicate out-of-band information between 
applications and the relevant "driver" in the user mode stack (in XP some 
messages went into wdmaud.sys, I believe, but that was it).  They have never 
gone into the various audio drivers, and as far as I know, there has never been 
a mechanism to allow user mode drivers to pass USB verbs directly onto the USB 
bus (I may be wrong here, I'm not a driver guy).

 

 

 

From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Elios Elios Elios
Sent: Thursday, June 28, 2007 5:14 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Control Tranfers using Winmm.dll to a USB device

 

Hello!

 

Does anyone know how to send control transfer and request to an USB audio 
device using the winmm.dll API?

 

I tried with waveInMessage, but it didn't work.

 

Thanks!




________________________________

Excursiones y escapadas a sitios mágicos. No te lo pierdas en MSN 
Entretenimiento <http://g.msn.com/8HMBESES/2734??PS=47575>  

****************** 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: