I'm sorry it's still not entirely clear to me what your scenario is. Does your solution have some physical buttons, and are you trying to write a sort-of daemon that responds to those buttons by changing the main volume level? Are you writing a program that has a GUI with a volume slider, and you want that slider to affect the main volume level? Are you writing a control panel extension for Vista's Audio control panel? As Larry said, the wave and mixer APIs on Vista now affect only the calling application rather than the main volume level. In general we feel that there is rarely a need for software to affect the main volume level. Instead, it is directly an end user function. If we can understand your larger scenario hopefully we can give you better guidance on how to achieve what you want to do. Thanks! Frank Yerrace Technical Lead Microsoft Corporation This posting is provided "AS IS" with no warranties, and confers no rights. ________________________________ From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Sam Tertzakian Sent: Wednesday, March 08, 2006 9:10 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: waveOutSetVolume() under Vista returns MMSYSERR_NOTSUPPORTED Yes, the main volume UI to uses the Hardware Volume Control (we don't see a problem there). For this reason, we are trying to access the Hardware Volume Control. That is why we are trying use either Wave or Mixer APIs to access the Hardware Volume Control. But, it seems that we cannot access that control under Vista (only XP) using Mixer or Wave APIs. ________________________________ From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Frank Yerrace Sent: Wednesday, March 08, 2006 6:27 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: waveOutSetVolume() under Vista returns MMSYSERR_NOTSUPPORTED Which user control are you talking about? The main volume UI in Vista will already use your hardware volume control (unless there's a bug in the way somewhere). Frank Yerrace Technical Lead Microsoft Corporation This posting is provided "AS IS" with no warranties, and confers no rights. ________________________________ From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Sam Tertzakian Sent: Wednesday, March 08, 2006 6:24 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: waveOutSetVolume() under Vista returns MMSYSERR_NOTSUPPORTED My device has a volume control on it. When the user moves the control up and down, we need the volume slider on the "Master Volume" to move up and down. How do you think I should do this? I have not tried the Mixer API on the Feb CTP, so I don't' know if it works...but, I did try waveOutSetVolume()...and for my driver (and for the on-board audio device for which I did not write a driver) it seems to not work. (But it does work under XP.) ________________________________ From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Larry Osterman Sent: Wednesday, March 08, 2006 5:57 PM To: 'wdmaudiodev@xxxxxxxxxxxxx' Subject: [wdmaudiodev] Re: waveOutSetVolume() under Vista returns MMSYSERR_NOTSUPPORTED Both waveOutSetVolume and the mixer APIs should be working on any recent builds (with the caveat that Frank mentioned below: waveOutSetVolume using IDs didn't work in all cases until recently). If you attempt to set the capture volume using the mixer APIs, it won't work (the API call should succeed, but the call will be ignored), the bug fix for this didn't make the Feb CTP. Please note that the wave and mixer volumes are plumbed to the per-stream volume for render endpoints. Larry Osterman ________________________________ From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Sam Tertzakian Sent: Wednesday, March 08, 2006 5:42 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: waveOutSetVolume() under Vista returns MMSYSERR_NOTSUPPORTED I have tried both handles and ids....But, I just realized that I am testing the Mixer API implementation on build 5270 and not the latest build. I know that both wave handles and device ids fail under the later version of Vista. But, I am not sure about the mixer api under the lastest version of Vista. I'll try it. ________________________________ From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Frank Yerrace Sent: Wednesday, March 08, 2006 5:33 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: waveOutSetVolume() under Vista returns MMSYSERR_NOTSUPPORTED Are you using wave handles or wave IDs? Both will eventually work, but wave IDs were not working until recent builds of Vista. You might not have a build with this correction. I don't have the information at my fingertips regarding when this was corrected. Frank Yerrace Technical Lead Microsoft Corporation This posting is provided "AS IS" with no warranties, and confers no rights. ________________________________ From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Sam Tertzakian Sent: Wednesday, March 08, 2006 5:08 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: waveOutSetVolume() under Vista returns MMSYSERR_NOTSUPPORTED Hi, I wrote a bunch of code to set/get the volume using the Mixer API and it works under XP with my driver...but the same code with same driver does not work under Vista. So, I cannot set the volume using the Wave API or the Mixer API under Vista. Yet, when I change the volume using the control panel under Vista, the messages do get to my driver. ________________________________ From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Sam Tertzakian Sent: Wednesday, March 08, 2006 3:00 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: waveOutSetVolume() under Vista returns MMSYSERR_NOTSUPPORTED Hi, I wrote an audio driver that works under XP and Vista. It passes XP WHQL. Under XP, when I call waveOutSetVolume() and waveOutGetVolume() everything works. But, under Vista both those functions return MMSYSERR_NOT_SUPPORTED. Does anybody know why this would be? Is that API not supported anymore? Do I have to do something different in my driver under Vista to make this call work? Under Vista the driver works very well...for example, when I change the volume using MSN messenger that works. It is just the waveXxxGetVolume and waveXxxSetVolume calls that fail. ________________________________ From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Sam Tertzakian Sent: Tuesday, March 07, 2006 9:37 AM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] waveOutSetVolume() under Vista returns MMSYSERR_NOTSUPPORTED Hi, I am receving MMSYSERR_NOTSUPPORTED when I call waveOutSetVolume() under Vista (latest CTP version). Under XP, the same code returns no error. Is this API no longer supported under Vista? Is there a new API for controlling the volume, or do we have to use the MixerAPI? Thank you