The MIDM_ADDBUFFER message requests a user-mode MIDI input driver to add an empty input buffer to its input buffer queue.
Parameters
uDeviceId
Device identifier (0, 1, 2, and so on) for the target device.
uMsg
AUXDM_SETVOLUME
dwUser
Device instance identifier.
dwParam1
Pointer to a MIDIHDR structure identifying the buffer. (The MIDIHDR structure is described in the Win32 SDK.)
dwParam2
Size of the MIDIHDR structure in bytes.
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 midiInAddBuffer return values in the Win32 SDK.
Comments
A client sends the AUXDM_SETVOLUME message by calling the user-mode driver's midMessage entry point, passing the specified parameters.
If the MHDR_PREPARED flag is not set in the dwFlags member of the MIDIHDR structure, the driver should return MIDIERR_UNPREPARED. If the flag is set, the driver should:
·Clear the MHDR_DONE flag.
·Set the MHDR_INQUEUE flag.
·Place the empty buffer in its input queue.
·Return control to the client with a return value of MMSYSERR_NOERROR.
Only system-exclusive events (long messages) should be placed in the buffer. Other MIDI events (short messages) should be passed to the client with a MIM_DATA callback message.
The user-mode driver starts recording when it receives a MIDM_START message.
For additional information, see Transferring MIDI Input Data.