This message is sent to a MIDI output device driver to stop output from the output queue and to turn off any notes that are playing.
DWORD dwParam1
Unused.
DWORD dwParam2
Unused.
The return value is an error code, or zero (MMSYSERR_NOERROR) if the operation is successful. Possible error codes are:
MMSYSERR_NOTENABLED
The driver failed to load or initialize.
If the driver's output queue is not empty, it should stop and mark all pending data blocks as done by setting the MHDR_DONE bit in the dwFlags field of the MIDIHDR structure for each block. The driver should then notify the client by using DriverCallback to send a MOM_DONE message for each data block.
If the device is an output port, the driver should send a MIDI note-off event for all 128 notes on all 16 channels. Optionally, the driver can keep track of which notes are turned on and send note-off events only for those notes. In addition, the driver should send a damper pedal off event (controller 0x40) for each channel. If the device is an internal synthesizer, the driver should turn off any notes that are playing.