WODM_SETVOLUME

The WODM_SETVOLUME message requests a waveform output driver to set the volume level for the specified device.

Parameters
uDeviceId
Device identifier (0, 1, 2, and so on) for the target device.
uMsg
WODM_SETVOLUME
dwUser
Device instance identifier.
dwParam1
Pointer to a DWORD location to receive the volume setting.
dwParam2
Not used.
Return Value

The driver should return MMSYSERR_NOERROR if the operation succeeds. Otherwise it should return one of the MMSYSERR or WAVERR error codes defined in mmsystem.h. See waveOutSetVolume return values in the Win32 SDK.

Comments

A client sends the WODM_SETVOLUME message by calling the user-mode driver’s wodMessage entry point, passing the specified parameters.

Support for this message by user-mode drivers is optional. If the driver supports WODM_SETVOLUME, it must support WODM_GETVOLUME.

The volume value is returned in the DWORD pointed to by dwParam1 as follows.

Channel

Portion of dwParam1 Used

Left channel

Low word

Right channel

High word

Single channel

Low word

A value of zero is silence, and a value of 0xFFFF is full volume.

Typically, the user-mode driver calls DeviceIoControl to send the kernel-mode driver an IOCTL_WAVE_SET_VOLUME control code.