Compartir a través de


Mensajes de dispositivo de audio para MIDI

En Windows XP y versiones posteriores de Windows (incluido Windows Vista), el sistema operativo se comunica con los controladores de entrada y salida de la interfaz digital del instrumento musical (MIDI) mediante mensajes de dispositivo de audio.

Cada controlador de entrada y salida MIDI debe tener una función de punto de entrada DriverProc para habilitar o deshabilitar el controlador. Además, debe tener una función de punto de entrada adicional para procesar mensajes desde el sistema operativo Windows. En el caso de los controladores de salida MIDI, la función de punto de entrada adicional es modMessage, que debe proporcionar el fabricante del dispositivo MIDI. Esta función procesa los mensajes que WINMM envía al controlador de salida MIDI. WINMM es un módulo de biblioteca de vínculos dinámicos (DLL) de Windows que contiene funciones que ayudan al sistema operativo y al controlador de salida MIDI a comunicarse entre sí. En concreto, WINMM ayuda a administrar aplicaciones multimedia de 16 bits que se ejecutan en Windows.

Cada mensaje recibido por la función modMessage incluye dos punteros a variables DWORD (DWORD_PTR). Para algunos mensajes, uno de estos parámetros apunta a una estructura que contiene información adicional del cliente, o apunta a una estructura vacía para que el controlador rellene la información del cliente. Un ejemplo de esta estructura es MIDIOPENDESC. Hay otras dos estructuras que usan los controladores de dispositivos de salida MIDI y se describen en Windows SDK. Para obtener más información sobre estas estructuras, vea MIDIHDR y MIDIOUTCAPS.

A continuación se muestra una lista de los mensajes del dispositivo de audio y la función de punto de entrada modMessage que los procesa para un controlador de salida MIDI:

modMessage

MODM_CACHEDRUMPATCHES

MODM_CACHEPATCHES

MODM_DATA

MODM_GETDEVCAPS

MODM_GETNUMDEVS

MODM_GETPOS

MODM_GETVOLUME

MODM_LONGDATA

MODM_OPEN

MODM_PAUSE

MODM_PREPARE

MODM_PROPERTIES

MODM_RESET

MODM_RESTART

MODM_SETVOLUME

MODM_STOP

MODM_STRMDATA

MODM_UNPREPARE

MOM_CLOSE

MOM_DONE

MOM_OPEN