This message is sent to a waveform output device driver to set the volume for a device.
DWORD dwParam1
Specifies the new volume level. The high-order word contains the right channel setting and the low-order word contains the left channel setting. A value of 0 is silence, and a value of 0xFFFF is full volume. If the driver does not support both left and right channel volume changes, it uses the volume specified in the low-order word. The driver will probably not support the full 16 bits of volume control and should truncate the lower bits if necessary. However, the original value requested with WODM_SETVOLUME should be returned with WODM_GETVOLUME.
DWORD dwParam2
Unused.
The return value is an error code, or zero (MMSYSERR_NOERROR) if the operation is successful. Possible error codes are:
MMSYSERR_NOTENABLED
The driver failed to load or initialize.
MMSYSERR_NOTSUPPORTED
The driver does not support changes to volume level.
Driver support for volume level changes is optional. When a driver receives a WODM_GETDEVCAPS message, it should indicate support for volume level changes by setting or clearing the WAVECAPS_VOLUME and WAVECAPS_LRVOLUME bits in the dwSupport field of the WAVEOUTCAPS data structure. If a driver supports the WODM_SETVOLUME message, then it must also support WODM_GETVOLUME.