Uso di un callback evento per elaborare i messaggi del driver

Per usare un callback eventi, usare la funzione CreateEvent per creare un evento di reimpostazione manuale. Nella chiamata alla funzione waveOutOpen specificare CALLBACK_EVENT per il parametro fdwOpen . Dopo aver chiamato la funzione waveOutPrepareHeader , ma prima di inviare dati waveform-audio al dispositivo, inserire l'evento in uno stato non firmato chiamando la funzione ResetEvent . Quindi, all'interno di un ciclo che verifica se il flag WHDR_DONE è impostato nel membro dwFlags della struttura WAVEHDR , chiamare la funzione WaitForSingleObject , specificando come parametri l'handle eventi e un valore di timeout.

Poiché i callback degli eventi non ricevono notifiche di chiusura, fine o apertura specifiche, un'applicazione potrebbe dover controllare lo stato del processo in attesa dopo l'evento. È possibile che una serie di attività sia stata completata dal momento in cui WaitForSingleObject restituisce.

Blocchi dati audio