The WODM_UNPREPARE message requests a waveform output driver to remove the buffer preparation that was performed in response to a WODM_PREPARE message.
Parameters
uDeviceId
Device identifier (0, 1, 2, and so on) for the target device.
uMsg
WODM_UNPREPARE
dwUser
Device instance identifier.
dwParam1
Pointer to a WAVEHDR structure identifying the data buffer. (The WAVEHDR structure is described in the Win32 SDK.)
dwParam2
Size of the WAVEHDR structure in bytes.
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 waveOutUnprepareHeader return values in the Win32 SDK.
Comments
A client sends the WODM_UNPREPARE 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_PREPARE, it must also support WODM_UNPREPARE.
If the driver returns MMSYSERR_NOTSUPPORTED, winmm.dll removes the buffer preparation. For most drivers, this behavior is sufficient. If the driver does support WODM_UNPREPARE, it must clear WHDR_PREPARED in the dwFlags member of WAVEHDR and return MMSYSERR_NOERROR.
For additional information, see Transferring Waveform Output Data.