The WODM_PAUSE message requests a waveform output driver to pause playback of a waveform.
Parameters
uDeviceId
Device identifier (0, 1, 2, and so on) for the target device.
uMsg
WODM_PAUSE
dwUser
Pointer to location to receive device instance identifier.
dwParam1
Not used.
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 waveOutPause return values in the Win32 SDK.
Comments
A client sends the WODM_PAUSE message by calling the user-mode driver’s wodMessage entry point, passing the specified parameters.
The driver should stop playing the waveform and should save the current position. Playback should continue from this position when a WODM_RESTART message is received. Output buffers received with the WODM_WRITE message while playback is paused should be placed in the output queue.
If the driver receives this message while output is already paused, it should return MMSYSERR_NOERROR.
Typically, the user-mode driver calls DeviceIoControl to send the kernel-mode driver an IOCTL_WAVE_SET_STATE control code.