The MIDIHDR structure defines the header used to identify a MIDI long message data buffer. For input, this is system exclusive; for output, this is any valid MIDI data.
typedef struct midihdr_tag {
LPSTR lpData;
DWORD dwBufferLength;
DWORD dwBytesRecorded;
DWORD dwUser;
DWORD dwFlags;
struct midihdr_tag far * lpNext;
DWORD reserved;
} MIDIHDR;
The MIDIHDR structure has the following fields:
lpData
Specifies a far pointer to the system-exclusive data buffer.
dwBufferLength
Specifies the length of the data buffer.
dwBytesRecorded
When the header is used in input, this specifies how much data is in the buffer.
dwUser
Specifies user data.
dwFlags
Specifies flags giving information about the data buffer.
MHDR_DONE
Set by the device driver to indicate that it is finished with the data buffer and is returning it to the application.
MHDR_PREPARED
Set by the device driver to indicate that the data buffer has been prepared with midiInPrepareHeader or midiOutPrepareHeader.
MHDR_INQUEUE
Set by the device driver to indicate that the data buffer is queued for playback.
lpNext
Reserved for use by the device driver to point to the next MIDIHDR structure in the queue.
reserved
Reserved for use by the device driver. This field can be used to store a pointer to a structure containing information about the client.