The MODM_UNPREPARE message requests a MIDI output driver to remove the buffer preparation that was performed in response to a MODM_PREPARE message.
The driver should return MMSYSERR_NOERROR if the operation succeeds. Otherwise it should return one of the MMSYSERR or MIDIERR error codes defined in mmsystem.h. See midiOutUnprepareHeader return values in the Win32 SDK.
A client sends the MODM_UNPREPARE message by calling the user-mode driver’s modMessage entry point, passing the specified parameters.
Support for this message by user-mode drivers is optional. If the driver supports MODM_PREPARE, it must also support MODM_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 MODM_UNPREPARE, it must clear MHDR_PREPARED in the dwFlags member of MIDIHDR and return MMSYSERR_NOERROR.
For additional information, see Transferring MIDI Output Data.