Compartir a través de


Usar una devolución de llamada de evento para administrar la reproducción almacenada en búfer

Para usar una devolución de llamada de evento, use la función CreateEvent para recuperar el identificador de un evento. En una llamada a la función midiOutOpen , especifique CALLBACK_EVENT para el parámetro dwFlags . Después de usar la función midiOutPrepareHeader pero antes de enviar eventos MIDI al dispositivo, cree un evento sin signo llamando a la función ResetEvent , especificando el controlador de eventos recuperado por CreateEvent. A continuación, dentro de un bucle que comprueba si el bit de MHDR_DONE se establece en el miembro dwFlags de la estructura MIDIHDR , use la función WaitForSingleObject , especificando el identificador de evento y un valor de tiempo de espera de INFINITE como parámetros.

Una devolución de llamada de evento se establece por cualquier cosa que pueda provocar una devolución de llamada de función.

Dado que las devoluciones de llamada de eventos no reciben notificaciones de cierre, realizadas o abiertas específicas, es posible que una aplicación tenga que comprobar el estado del proceso que está esperando después de que se produzca el evento. Es posible que el tiempo que devuelve WaitForSingleObject pueda completar una serie de tareas.