Compartilhar via


Função modMessage

A função modMessage é a função de ponto de entrada para drivers de saída MIDI (interface digital de instrumento musical) e para drivers de sintetizador internos. Para obter mais informações sobre mensagens de dispositivo de áudio relacionadas ao MIDI, consulte Mensagens de Dispositivo de Áudio para MIDI

Sintaxe

DWORD modMessage(
   UINT      uDeviceID,
   UINT      uMsg,
   DWORD_PTR dwUser,
   DWORD_PTR dwParam1,
   DWORD_PTR dwParam2
);

Parâmetros

  • uDeviceID
    Especifica a ID do dispositivo de destino. As IDs do dispositivo são sequenciais e têm um valor inicial igual a zero e um valor final igual a um menor que o número de dispositivos suportados pelo driver.

  • uMsg
    Especifica a mensagem que o WINMM envia ao driver em resposta a uma chamada do aplicativo cliente.

  • dwUser
    Para a mensagem MODM_OPEN , o driver deve preencher esse local com seus dados de instância. Para qualquer outra mensagem, os dados da instância são retornados para o driver. Os drivers que dão suporte a vários clientes podem usar esses dados de instância para rastrear qual cliente está associado à mensagem.

  • dwParam1
    Especifica um parâmetro dependente de mensagem.

  • dwParam2
    Especifica um parâmetro dependente de mensagem. Se houver sinalizadores que fornecem informações adicionais para o driver que funciona com modMessage, o WINMM usará esse parâmetro para passar os sinalizadores.

Valor de retorno

A função modMessage retornará MMSYSERR_NOERROR se puder processar com êxito a mensagem recebida do MMSYSTEM. Caso contrário, ele retornará uma das seguintes mensagens de erro.

Código de retorno Descrição
MMSYSERR_ERROR

Erro não especificado.

MMSYSERR_BADDEVICEID

A ID do dispositivo especificada está fora do intervalo.

MMSYSERR_NOTENABLED

Falha ao carregar ou inicializar o driver.

MMSYSERR_ALLOCATED

O dispositivo especificado já está alocado.

MMSYSERR_INVALHANDLE

O identificador do dispositivo especificado é inválido.

MMSYSERR_NODRIVER

Nenhum driver de dispositivo está presente.

MMSYSERR_NOMEM

Erro de alocação de memória.

MMSYSERR_NOTSUPPORTED

Não há suporte para a função solicitada pela mensagem.

MMSYSERR_BADERRNUM

O valor do erro está fora do intervalo. Consulte a seção Comentários para obter mais detalhes.

MMSYSERR_INVALFLAG

Um sinalizador inválido foi passado para modMessage (usando dwParam2).

MMSYSERR_INVALPARAM

Um parâmetro inválido foi passado para modMessage.

MMSYSERR_HANDLEBUSY

O identificador especificado está sendo usado simultaneamente por outro thread (por exemplo, um thread de retorno de chamada).

MMSYSERR_INVALIDALIAS

O alias especificado não foi encontrado.

MMSYSERR_BADDB

Banco de dados inválido do Registro.

MMSYSERR_KEYNOTFOUND

A chave do Registro especificada não foi encontrada.

MMSYSERR_READERROR

Erro de leitura do Registro.

MMSYSERR_WRITEERROR

Erro de gravação do Registro.

MMSYSERR_DELETEERROR

Erro de exclusão do Registro.

MMSYSERR_VALNOTFOUND

O valor do Registro especificado não foi encontrado.

MMSYSERR_NODRIVERCB

O driver que funciona com modMessage não chama DriverCallback.

MMSYSERR_MOREDATA

modMessage tem mais dados a serem retornados.

MMSYSERR_LASTERROR

Indica que este é o último erro no intervalo de valores de erro. Para obter mais detalhes, consulte a seção Comentários.

Observações

Mensagens de dispositivo de áudio são constantes definidas pelo sistema. Portanto, quando o modMessage recebe uma mensagem de dispositivo de áudio, ele usa uma instrução switch para determinar a ação a ser executada, com base no valor da mensagem.

O intervalo de mensagens de erro que modMessage pode retornar depende da mensagem de que estava processando quando o erro ocorreu. Os valores numéricos das mensagens de erro MMSYSERR_ começam com zero (para MMSYSERR_NOERROR) e continuam com MMSYSERR_BASE + n, em que n é um inteiro de 1 a 21. O valor para MMSYSERR_BASE é uma constante definida. Para obter mais informações sobre MSYSERR_BASE e as mensagens de erro MMSYSERR_, consulte Mmsystem.h no SDK do Windows e Mmddk.h no WDK, respectivamente.

Requisitos

Plataforma de destino

Área de trabalho

Versão

Disponível com o Windows XP e sistemas operacionais Windows posteriores.

Cabeçalho

Mmddk.h (inclua Mmddk.h, Mmsystem.h ou Windows.h)

Consulte também

MODM_OPEN