This message is sent to a MIDI output device driver to request the driver to prepare a system-exclusive data block for output. If data blocks are accessed at interrupt time, they must be page locked to ensure that the memory is not swapped out to disk.
DWORD dwParam1
Specifies a far pointer to MIDIHDR structure identifying the data block.
DWORD dwParam2
Specifies the size of the MIDIHDR structure.
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.
MMSYSERR_NOTSUPPORTED
The driver does not support this message.
Driver support for this message is optional. If a driver supports this message, then it must also support MODM_UNPREPARE.
The default response for this message is to return MMSYSERR_NOTSUPPORTED. In this case, MMSYSTEM will page lock the memory for the driver. If a driver requires other operations to prepare a data block for output, it should set the MHDR_PREPARED bit in the dwFlags field of the MIDIHDR structure and return MMSYSERR_NOERROR. In this case, MMSYSTEM assumes the driver has prepared the data block and does not page lock the memory. If a data block has already been prepared, MMSYSERR_NOERROR should be returned.