Compartilhar via


Função midiOutPrepareHeader (mmeapi.h)

A função midiOutPrepareHeader prepara um buffer de fluxo ou exclusivo do sistema MIDI para saída.

Sintaxe

MMRESULT midiOutPrepareHeader(
  HMIDIOUT  hmo,
  LPMIDIHDR pmh,
  UINT      cbmh
);

Parâmetros

hmo

Manipule para o dispositivo de saída MIDI. Para obter o identificador do dispositivo, chame midiOutOpen. Esse parâmetro também pode ser o identificador de um fluxo MIDI convertido em um tipo HMIDIOUT .

pmh

Ponteiro para uma estrutura MIDIHDR que identifica o buffer a ser preparado.

Antes de chamar a função, defina os membros lpData, dwBufferLength e dwFlags da estrutura MIDIHDR . O membro dwFlags deve ser definido como zero.

cbmh

Tamanho, em bytes, da estrutura MIDIHDR .

Retornar valor

Retorna MMSYSERR_NOERROR se tiver êxito ou um erro de outra forma. Os valores de erro possíveis incluem o seguinte.

Código de retorno Descrição
MMSYSERR_INVALHANDLE
O identificador de dispositivo especificado é inválido.
MMSYSERR_INVALPARAM
O endereço especificado é inválido ou o buffer de fluxo fornecido é maior que 64K.
MMSYSERR_NOMEM
O sistema não pode alocar ou bloquear memória.

Comentários

Antes de passar um bloco de dados MIDI para um driver de dispositivo, você deve preparar o buffer passando-o para a função midiOutPrepareHeader . Depois que o cabeçalho tiver sido preparado, não modifique o buffer. Depois que o driver terminar de usar o buffer, chame a função midiOutUnprepareHeader .

O aplicativo pode reutilizar o mesmo buffer ou alocar vários buffers e chamar midiOutPrepareHeader para cada buffer. Se você usar novamente o mesmo buffer, não será necessário preparar o buffer sempre. Você pode chamar midiOutPrepareHeader uma vez no início e, em seguida, chamar midiOutUnprepareHeader uma vez no final.

Um buffer de fluxo não pode ser maior que 64K.

Preparar um cabeçalho que já foi preparado não tem efeito e a função retorna MMSYSERR_NOERROR.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho mmeapi.h (inclua Windows.h)
Biblioteca Winmm.lib
DLL Winmm.dll

Confira também

Alocando e preparando blocos de dados MIDI

Funções MIDI

midiOutUnprepareHeader