The WODM_CLOSE message requests a waveform output driver to close a specified device instance that was previously opened with a WODM_OPEN message.
Parameters
uDeviceId
Device identifier (0, 1, 2, and so on) for the target device.
uMsg
WODM_CLOSE
dwUser
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 waveOutClose return values in the Win32 SDK.
Comments
A client sends the WODM_CLOSE message by calling the user-mode driver’s wodMessage entry point, passing the specified parameters.
If the client has passed data buffers to the user-mode driver by means of WODM_WRITE messages, and if the user-mode driver hasn’t finished sending the data to the kernel-mode driver, the user-mode driver should return WAVERR_STILLPLAYING in response to WODM_CLOSE.
After the driver closes the device instance it should send a WOM_CLOSE callback message to the client.
For additional information, see Transferring Waveform Output Data.