The WODM_GETPLAYBACKRATE message requests a waveform output driver to return the current playback rate multiplier value for the specified device.
Parameters
uDeviceId
Device identifier (0, 1, 2, etc.) for the target device.
uMsg
WODM_GETPLAYBACKRATE
dwUser
Device instance identifier.
dwParam1
Pointer to a DWORD location used to return the current playback rate multiplier value. This is specified as a fixed-point value, where the high-order word of the DWORD contains the signed integer part of the number, and the low-order word contains the fractional part. The fraction consists of a WORD value, for which 0x8000 represents one half, and 0x4000 represents one quarter. For example, the value 0x00010000 specifies a multiplier of 1.0 (no rate change), and a value of 0x000F8000 specifies a multiplier of 15.5.
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 waveOutGetPlaybackRate return values in the Win32 SDK.
Comments
A client sends the WODM_GETPLAYBACKRATE message by calling the user-mode driver’s wodMessage entry point, passing the specified parameters.
Support for the WODM_GETPLAYBACKRATE message by user-mode drivers is optional. If a driver supports the WODM_SETPLAYBACKRATE message, it must also support WODM_GETPLAYBACKRATE.
Typically, the user-mode driver calls DeviceIoControl to send the kernel-mode driver an IOCTL_WAVE_GET_PLAYBACK_RATE control code.