Compartilhar via


Função midiOutOpen (mmeapi.h)

A função midiOutOpen abre um dispositivo de saída MIDI para reprodução.

Sintaxe

MMRESULT midiOutOpen(
  LPHMIDIOUT phmo,
  UINT       uDeviceID,
  DWORD_PTR  dwCallback,
  DWORD_PTR  dwInstance,
  DWORD      fdwOpen
);

Parâmetros

phmo

Ponteiro para um identificador HMIDIOUT . Esse local é preenchido com um identificador que identifica o dispositivo de saída MIDI aberto. O identificador é usado para identificar o dispositivo em chamadas para outras funções de saída MIDI.

uDeviceID

Identificador do dispositivo de saída MIDI que deve ser aberto.

dwCallback

Ponteiro para uma função de retorno de chamada, um identificador de evento, um identificador de thread ou um identificador de uma janela ou thread chamado durante a reprodução MIDI para processar mensagens relacionadas ao progresso da reprodução. Se nenhum retorno de chamada for desejado, especifique NULL para esse parâmetro. Para obter mais informações sobre a função de retorno de chamada, consulte MidiOutProc.

dwInstance

Dados da instância do usuário passados para o retorno de chamada. Esse parâmetro não é usado com retornos de chamada ou threads de janela.

fdwOpen

Sinalizador de retorno de chamada para abrir o dispositivo. Pode ser os valores a seguir.

Valor Significado
CALLBACK_EVENT O parâmetro dwCallback é um identificador de evento. Esse mecanismo de retorno de chamada é somente para saída.
CALLBACK_FUNCTION O parâmetro dwCallback é um endereço de função de retorno de chamada.
CALLBACK_NULL Não há mecanismo de retorno de chamada. Esse valor é a configuração padrão.
CALLBACK_THREAD O parâmetro dwCallback é um identificador de thread.
CALLBACK_WINDOW O parâmetro dwCallback é um identificador de janela.

Valor retornado

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
MIDIERR_NODEVICE
Nenhuma porta MIDI foi encontrada. Esse erro ocorre somente quando o mapeador é aberto.
MMSYSERR_ALLOCATED
O recurso especificado já está alocado.
MMSYSERR_BADDEVICEID
O identificador de dispositivo especificado está fora do intervalo.
MMSYSERR_INVALPARAM
O ponteiro ou estrutura especificado é inválido.
MMSYSERR_NOMEM
O sistema não pode alocar ou bloquear memória.

Comentários

Para determinar o número de dispositivos de saída MIDI presentes no sistema, use a função midiOutGetNumDevs . O identificador de dispositivo especificado por wDeviceID varia de zero a um menor que o número de dispositivos presentes. MIDI_MAPPER também pode ser usado como o identificador do dispositivo.

Se uma janela ou thread for escolhido para receber informações de retorno de chamada, as seguintes mensagens serão enviadas para o procedimento de janela ou thread para indicar o progresso da saída MIDI: MM_MOM_OPEN, MM_MOM_CLOSE e MM_MOM_DONE.

Se uma função for escolhida para receber informações de retorno de chamada, as seguintes mensagens serão enviadas para a função para indicar o progresso da saída MIDI: MOM_OPEN, MOM_CLOSE e MOM_DONE.

Requisitos

   
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

Funções MIDI