Condividi tramite


Uso di un callback di eventi per gestire la riproduzione memorizzata nel buffer

Per usare un callback di eventi, usare la funzione CreateEvent per recuperare l'handle di un evento. In una chiamata alla funzione midiOutOpen specificare CALLBACK_EVENT per il parametro dwFlags . Dopo aver utilizzato la funzione midiOutPrepareHeader ma prima di inviare eventi MIDI al dispositivo, creare un evento non firmato chiamando la funzione ResetEvent , specificando l'handle di evento recuperato da CreateEvent. Quindi, all'interno di un ciclo che controlla se il bit MHDR_DONE è impostato nel membro dwFlags della struttura MIDIHDR , utilizzare la funzione WaitForSingleObject , specificando l'handle dell'evento e un valore di timeout infinite come parametri.

Un callback di evento viene impostato da qualsiasi elemento che potrebbe causare un callback di funzione.

Poiché i callback degli eventi non ricevono notifiche di chiusura, fine o apertura specifiche, potrebbe essere necessario che un'applicazione controlli lo stato del processo che è in attesa dopo che si verifica l'evento. È possibile che una serie di attività possa essere completata dal momento in cui waitForSingleObject restituisce.