MIDIHDR

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;

Fields

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.