Share via


Función midiOutPrepareHeader (mmeapi.h)

La función midiOutPrepareHeader prepara un búfer de secuencia o exclusivo del sistema MIDI para la salida.

Sintaxis

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

Parámetros

hmo

Controla el dispositivo de salida MIDI. Para obtener el identificador del dispositivo, llame a midiOutOpen. Este parámetro también puede ser el identificador de una secuencia MIDI que se convierte en un tipo HMIDIOUT .

pmh

Puntero a una estructura MIDIHDR que identifica el búfer que se va a preparar.

Antes de llamar a la función, establezca los miembros lpData, dwBufferLength y dwFlags de la estructura MIDIHDR . El miembro dwFlags debe establecerse en cero.

cbmh

Tamaño, en bytes, de la estructura MIDIHDR .

Valor devuelto

Devuelve MMSYSERR_NOERROR si se realiza correctamente o si se produce un error en caso contrario. Entre los valores de error posibles se incluyen los siguientes.

Código devuelto Descripción
MMSYSERR_INVALHANDLE
El identificador de dispositivo especificado no es válido.
MMSYSERR_INVALPARAM
La dirección especificada no es válida o el búfer de secuencia especificado es mayor que 64K.
MMSYSERR_NOMEM
El sistema no puede asignar o bloquear la memoria.

Comentarios

Antes de pasar un bloque de datos MIDI a un controlador de dispositivo, debe preparar el búfer pasandolo a la función midiOutPrepareHeader . Una vez preparado el encabezado, no modifique el búfer. Una vez que el controlador haya terminado con el búfer, llame a la función midiOutUnprepareHeader .

La aplicación puede volver a usar el mismo búfer, o asignar varios búferes y llamar a midiOutPrepareHeader para cada búfer. Si vuelve a usar el mismo búfer, no es necesario preparar el búfer cada vez. Puedes llamar a midiOutPrepareHeader una vez al principio y, a continuación, llamar a midiOutUnprepareHeader una vez al final.

Un búfer de secuencia no puede ser mayor que 64K.

La preparación de un encabezado que ya se ha preparado no tiene ningún efecto y la función devuelve MMSYSERR_NOERROR.

Requisitos

Requisito Value
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 (incluya Windows.h)
Library Winmm.lib
Archivo DLL Winmm.dll

Consulte también

Asignar y preparar bloques de datos MIDI

Funciones MIDI

midiOutUnprepareHeader