Funzione midiOutPrepareHeader (mmeapi.h)

La funzione midiOutPrepareHeader prepara un buffer di flusso o esclusivo dal sistema MIDI per l'output.

Sintassi

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

Parametri

hmo

Handle per il dispositivo di output MIDI. Per ottenere l'handle del dispositivo, chiama midiOutOpen. Questo parametro può anche essere l'handle di un flusso MIDI di cui è stato eseguito il cast a un tipo HMIDIOUT .

pmh

Puntatore a una struttura MIDIHDR che identifica il buffer da preparare.

Prima di chiamare la funzione, impostare i membri lpData, dwBufferLength e dwFlags della struttura MIDIHDR . Il membro dwFlags deve essere impostato su zero.

cbmh

Dimensioni, in byte, della struttura MIDIHDR .

Valore restituito

Restituisce MMSYSERR_NOERROR se l'esito positivo o un errore in caso contrario. I valori di errore possibili includono quanto segue.

Codice restituito Descrizione
MMSYSERR_INVALHANDLE
L'handle del dispositivo specificato non è valido.
MMSYSERR_INVALPARAM
L'indirizzo specificato non è valido o il buffer di flusso specificato è maggiore di 64.000.
MMSYSERR_NOMEM
Il sistema non è in grado di allocare o bloccare la memoria.

Commenti

Prima di passare un blocco di dati MIDI a un driver di dispositivo, è necessario preparare il buffer passandolo alla funzione midiOutPrepareHeader . Dopo aver preparato l'intestazione, non modificare il buffer. Al termine dell'uso del buffer, chiamare la funzione midiOutUnprepareHeader .

L'applicazione può riutilizzare lo stesso buffer o allocare più buffer e chiamare midiOutPrepareHeader per ogni buffer. Se si usa nuovamente lo stesso buffer, non è necessario preparare il buffer ogni volta. È possibile chiamare midiOutPrepareHeader una volta all'inizio e quindi chiamare midiOutUnprepareHeader una volta alla fine.

Un buffer di flusso non può essere maggiore di 64.000.

La preparazione di un'intestazione già preparata non ha alcun effetto e la funzione restituisce MMSYSERR_NOERROR.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione mmeapi.h (include Windows.h)
Libreria Winmm.lib
DLL Winmm.dll

Vedi anche

Allocazione e preparazione di blocchi di dati MIDI

Funzioni MIDI

midiOutUnprepareHeader