Share via


Función midiOutOpen (mmeapi.h)

La función midiOutOpen abre un dispositivo de salida MIDI para la reproducción.

Sintaxis

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

Parámetros

phmo

Puntero a un identificador HMIDIOUT . Esta ubicación se rellena con un identificador que identifica el dispositivo de salida MIDI abierto. El identificador se usa para identificar el dispositivo en llamadas a otras funciones de salida MIDI.

uDeviceID

Identificador del dispositivo de salida MIDI que se va a abrir.

dwCallback

Puntero a una función de devolución de llamada, un controlador de eventos, un identificador de subproceso o un identificador de una ventana o subproceso llamado durante la reproducción MIDI para procesar mensajes relacionados con el progreso de la reproducción. Si no se desea ninguna devolución de llamada, especifique NULL para este parámetro. Para obtener más información sobre la función de devolución de llamada, vea MidiOutProc.

dwInstance

Datos de instancia de usuario pasados a la devolución de llamada. Este parámetro no se usa con devoluciones de llamada de ventana o subprocesos.

fdwOpen

Marca de devolución de llamada para abrir el dispositivo. Puede ser los siguientes valores.

Valor Significado
CALLBACK_EVENT El parámetro dwCallback es un identificador de eventos. Este mecanismo de devolución de llamada es solo para la salida.
CALLBACK_FUNCTION El parámetro dwCallback es una dirección de función de devolución de llamada.
CALLBACK_NULL No hay ningún mecanismo de devolución de llamada. Este valor es la configuración predeterminada.
CALLBACK_THREAD El parámetro dwCallback es un identificador de subproceso.
CALLBACK_WINDOW El parámetro dwCallback es un identificador de ventana.

Valor devuelto

Devuelve MMSYSERR_NOERROR si se ejecuta correctamente o si se produce un error. Entre los posibles valores de error se incluyen los siguientes.

Código devuelto Descripción
MIDIERR_NODEVICE
No se encontró ningún puerto MIDI. Este error solo se produce cuando se abre el asignador.
MMSYSERR_ALLOCATED
El recurso especificado ya está asignado.
MMSYSERR_BADDEVICEID
El identificador de dispositivo especificado está fuera del intervalo.
MMSYSERR_INVALPARAM
El puntero o la estructura especificados no son válidos.
MMSYSERR_NOMEM
El sistema no puede asignar o bloquear la memoria.

Comentarios

Para determinar el número de dispositivos de salida MIDI presentes en el sistema, use la función midiOutGetNumDevs . El identificador de dispositivo especificado por wDeviceID varía de cero a uno menor que el número de dispositivos presentes. MIDI_MAPPER también se puede usar como identificador del dispositivo.

Si se elige una ventana o un subproceso para recibir información de devolución de llamada, los siguientes mensajes se envían al procedimiento o subproceso de la ventana para indicar el progreso de la salida MIDI: MM_MOM_OPEN, MM_MOM_CLOSE y MM_MOM_DONE.

Si se elige una función para recibir información de devolución de llamada, los siguientes mensajes se envían a la función para indicar el progreso de la salida MIDI: MOM_OPEN, MOM_CLOSE y MOM_DONE.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado mmeapi.h (incluye Windows.h)
Library Winmm.lib
Archivo DLL Winmm.dll

Consulte también

Funciones MIDI