fonction midiOutPrepareHeader (mmeapi.h)

La fonction midiOutPrepareHeader prépare une mémoire tampon de flux ou exclusive du système MIDI pour la sortie.

Syntaxe

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

Paramètres

hmo

Gérez le périphérique de sortie MIDI. Pour obtenir le handle de l’appareil, appelez midiOutOpen. Ce paramètre peut également être le handle d’un flux MIDI de type HMIDIOUT .

pmh

Pointeur vers une structure MIDIHDR qui identifie la mémoire tampon à préparer.

Avant d’appeler la fonction, définissez les membres lpData, dwBufferLength et dwFlags de la structure MIDIHDR . Le membre dwFlags doit être défini sur zéro.

cbmh

Taille, en octets, de la structure MIDIHDR .

Valeur retournée

Retourne MMSYSERR_NOERROR en cas de réussite ou une erreur dans le cas contraire. Les valeurs d’erreur possibles sont les suivantes.

Code de retour Description
MMSYSERR_INVALHANDLE
Le handle d’appareil spécifié n’est pas valide.
MMSYSERR_INVALPARAM
L’adresse spécifiée n’est pas valide ou la mémoire tampon de flux donnée est supérieure à 64 000.
MMSYSERR_NOMEM
Le système ne peut pas allouer ou verrouiller la mémoire.

Remarques

Avant de passer un bloc de données MIDI à un pilote de périphérique, vous devez préparer la mémoire tampon en la transmettant à la fonction midiOutPrepareHeader . Une fois l’en-tête préparé, ne modifiez pas la mémoire tampon. Une fois le pilote terminé à l’aide de la mémoire tampon, appelez la fonction midiOutUnprepareHeader .

L’application peut réutiliser la même mémoire tampon ou allouer plusieurs mémoires tampons et appeler midiOutPrepareHeader pour chaque mémoire tampon. Si vous réutilisent la même mémoire tampon, il n’est pas nécessaire de préparer la mémoire tampon à chaque fois. Vous pouvez appeler midiOutPrepareHeader une fois au début, puis appeler midiOutUnprepareHeader une fois à la fin.

Une mémoire tampon de flux ne peut pas dépasser 64 Ko.

La préparation d’un en-tête déjà préparé n’a aucun effet et la fonction retourne MMSYSERR_NOERROR.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête mmeapi.h (inclure Windows.h)
Bibliothèque Winmm.lib
DLL Winmm.dll

Voir aussi

Allocation et préparation des blocs de données MIDI

Fonctions MIDI

midiOutUnprepareHeader