To set sound volume on a single channel (without touching the others), waveOutSetVolume( hWaveOut, volume ) is called on that channel's device handle.
On WinCE, this works perfectly. On desktop, the same code changes volume on ALL channels at once, despite MSDN stating that
If a device identifier is used, then the result of the waveOutSetVolume call applies to all instances of the device. If a device handle is used, then the result applies only to the instance of the device referenced by the device handle.
Since I'm quite sure I pass different device HANDLES, I'm a bit confused . I've tried all handle / id / whatever combinations I could imagine.
Any ideas? Please, don't say "DirectSound"