Formato do buffer de fluxo
O membro lpData da estrutura MIDIHDR aponta para um buffer de fluxo e o membro dwBufferLength especifica o tamanho real desse buffer. O membro dwBytesRecorded de MIDIHDR especifica o número de bytes no buffer que são realmente usados pelos eventos MIDI; esse valor deve ser menor ou igual ao valor especificado por dwBufferLength.
Cada um dos eventos MIDI no buffer de fluxo é especificado por uma estrutura MIDIEVENT , que contém a hora do evento, um identificador de fluxo, um código de evento e, quando apropriado, parâmetros para o evento. Cada uma dessas estruturas MIDIEVENT deve começar em um limite de palavra dupla. Se necessário, bytes de teclado devem ser adicionados ao final da estrutura para garantir que o próximo comece em um limite de palavra dupla.