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 |
---|---|
|
Le handle d’appareil spécifié n’est pas valide. |
|
L’adresse spécifiée n’est pas valide ou la mémoire tampon de flux donnée est supérieure à 64 000. |
|
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 |