MODM_RESET

The MODM_RESET message requests a MIDI output driver to stop sending output data and return all output buffers to the client.

Parameters

uDeviceId

Device identifier (0, 1, 2, and so on) for the target device.

uMsg

MODM_RESET

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 MIDIERR error codes defined in mmsystem.h. See midiOutReset return values in the Win32 SDK.

Comments

A client sends the MODM_RESET message by calling the user-mode driver’s modMessage entry point, passing the specified parameters.

If the driver’s output queue contains any output buffers (see MODM_LONGDATA) whose contents have not been sent to the kernel-mode driver, the driver should set the MHDR_DONE flag and clear the MHDR_INQUEUE flag in each buffer’s MIDIHDR structure, and then send the client a MOM_DONE callback message for each buffer.

Typically, the user-mode driver stops device output by calling DeviceIoControl, sending the kernel-mode driver an IOCTL_MIDI_SET_STATE control code.

If the device is an internal synthesizer, the driver should turn off all notes.

For additional information, see Transferring MIDI Output Data.