// mmddk.h
DWORD modMessage(
UINT uDeviceID,
UINT uMsg,
DWORD_PTR dwUser,
DWORD_PTR dwParam1,
DWORD_PTR dwParam2
);
View the official Windows hardware development documentationNo description available.
WINMM sends the MODM_STRMDATA message to the modMessage function of a MIDI output driver to get the MIDI output device to send stream data.
uDeviceID Specifies the ID of the target device. Device IDs are sequential and have an initial value of zero and a final value that is equal to one less than the number of devices that the driver supports.
uMsg WINMM sets this parameter to MODM_STRMDATA when it calls modMessage to process this message.
dwUser Use this parameter to return instance data to the driver. Drivers that support multiple clients can use this instance data to track the client that is associated with the message.
dwParam1 This parameter specifies a far pointer to MIDIHDR structure that contains data in the stream buffer format.
dwParam2 This parameter specifies the size, in bytes, of the MIDIHDR structure.
The modMessage function returns MMSYSERR_NOERROR if the operation was successful. Otherwise, it returns MMSYSERR_NOTENABLED to indicate that the driver failed to load or initialize.
The dwStreamID member of the MIDIEVENT structure is documented as reserved in the Windows SDK documentation. This member actually contains the destination of the given event. The driver must process the event only under the following circumstances:
dwStreamID matches one of the stream identifiers given in the array that is specified by the rgIds member of the MIDIOPENDESC structure (specified in the MODM_OPEN message). In this case, the driver must process the event on the port to which the stream identifier was bound by means of a device identifier in the MODM_OPEN message.
dwStreamID contains a -1 (0xFFFFFFFFL). In this case, the driver must process the event for all ports that are open on this stream.
| Target platform | Desktop |
| Version | Available in Windows XP and later Windows operating systems. |
| Header | Mmddk.h (include Mmddk.h, Mmsystem.h, or Windows.h) |