Yes, I use DeviceTopology APIs. Of course, I don't know which APIs uses Sndvol.exe but I meant the following: When I set volume (especially high level, e.g. 95) for example in 'Playback Devices'->'Speakers'->'Levels' and then reopen this window, the value will be different from what I entered before (tested in practice) for those sound drivers which have the issue mentioned below. The difference may be big because in 'Levels' window volume changes linearly (this is my exploration) unlike the master volume level in the volume pop-up panel. I believe this is not good for end users, who don't know why this happens. This issue has appeared only in Vista, there are no such problems in XP and early Windows versions. Sincerely, Andrew Original Message Follows: ------------------------ Sndvol.exe does not use the DeviceTopology APIs (which I assume you are referring to since you mentioned IAudioVolumeLevel). For device volume, it uses the EndpointVolume APIs. If I recall correctly, the EndpointVolume APIs return the last set value rather than "snapping" to the closest hardware supported value. Frank Yerrace Microsoft Corporation This posting is provided "AS IS" with no warranties, and confers no rights. -----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of wdmaudiodev@xxxxxxxxxxxxxxxxxx Sent: Monday, December 04, 2006 9:50 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re[2]: Few questions about core Audio APIs in Vista Mitch, Thank you for the explanation. A1. Do you plan to add this method in the future? We have some interesting ideas, but can't implement because there is no way... A2. I've supposed that. However, I think this is not best practice when users set one volume level in Sndvol.exe but when they reopen it the value is different. Furthermore, a difference may be big with linear volume setup (e.g. they set 80 but returned 90 and so on), so the users will be confused. My opinion is the driver must always return original value set even if it support only the levels of multiple of *pfStepping. Sincerely, Andrew Original Message Follows: ------------------------ A1. Sorry, but there is no public method for enumerating all of the audio sessions. A2. Most hardware volume controls have .5, 1 or 1.5dB steps. Whether the hardware returns the actual volume level (e.g. -5dB) or the last value set (e.g. -5.02dB) depends on the driver, but in general you should expect that the level will be a multiple of *pfStepping. Regards, Mitch Rundle Microsoft This posting is provided "AS IS" with no warranties, and confers no rights. -----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Andrew Mindrin Sent: Thursday, November 30, 2006 11:09 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Few questions about core Audio APIs in Vista Hi, The questions are: Q1. Enumerating all audio sessions ---------------------------------- I need to enumerate all audio sessions in Vista to take control over them like Sndvol.exe. Is there a way? I need that to create custom volume control software. I've tried to play with WASAPI, but it is possible only to create new session or to open a sessions of current process created by high-level API. Q2. Volume levels in Vista -------------------------- I've noticed that some sound drivers for Vista doesn't support precise volume setup. E.g. with the latest driver from Creative (2.11.0000) when I set volume by using IAudioVolumeLevel::SetLevel to e.g. -5.02 dB and then has read it by using IAudioVolumeLevel::GetLevel, the result is -5 dB instead of -5.02 dB. Is this driver bug or volume level in Vista can be set\read only with a step returned by GetLevelRange method (pfStepping parameter)? If this is not a bug, how to set\read precise levels? Many thanks, Andrew ****************** 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/