Gestione dei blocchi di dati tramite polling
[La funzionalità associata a questa pagina , Waveform Audio, è una funzionalità legacy. È stato sostituito da WASAPI e grafici audio. WasAPI e grafici audio sono stati ottimizzati per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi grafici WASAPI e Audio anziché Waveform Audio, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
Oltre a usare una funzione di callback, è possibile eseguire il polling del membro dwFlags di una struttura WAVEHDR per determinare quando un dispositivo audio viene completato con un blocco di dati. A volte è preferibile eseguire il polling di dwFlags piuttosto che attendere che un altro meccanismo riceva messaggi dai driver. Ad esempio, dopo aver chiamato la funzione waveOutReset per rilasciare blocchi di dati in sospeso, è possibile eseguire immediatamente il polling per assicurarsi che i blocchi di dati siano stati rilasciati prima di chiamare waveOutUnprepareHeader e liberare la memoria per il blocco di dati.
È possibile usare il flag WHDR_DONE per testare il membro dwFlags . Non appena il flag di WHDR_DONE viene impostato nel membro dwFlags della struttura WAVEHDR , il driver viene completato con il blocco di dati.