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.