Partager via


Utilisation d’un rappel d’événement pour gérer la lecture mise en mémoire tampon

Pour utiliser un rappel d’événement, utilisez la fonction CreateEvent pour récupérer le handle d’un événement. Dans un appel à la fonction midiOutOpen , spécifiez CALLBACK_EVENT pour le paramètre dwFlags . Après avoir utilisé la fonction midiOutPrepareHeader , mais avant d’envoyer des événements MIDI à l’appareil, créez un événement non signé en appelant la fonction ResetEvent , en spécifiant le handle d’événements récupéré par CreateEvent. Ensuite, à l’intérieur d’une boucle qui vérifie si le bit MHDR_DONE est défini dans le membre dwFlags de la structure MIDIHDR , utilisez la fonction WaitForSingleObject, en spécifiant le handle d’événement et une valeur de délai d’attente d’INFINITE en tant que paramètres.

Un rappel d’événement est défini par tout ce qui peut provoquer un rappel de fonction.

Étant donné que les rappels d’événements ne reçoivent pas de notifications spécifiques de fermeture, d’exécution ou d’ouverture, une application peut avoir besoin de case activée l’status du processus qu’elle attend après l’événement. Il est possible qu’un certain nombre de tâches soient effectuées avant le retour de WaitForSingleObject .