Administración de bloques de datos mediante sondeo
[La característica asociada a esta página, Waveform Audio, es una característica heredada. Se ha reemplazado por WASAPI y Audio Graphs. WASAPI y Audio Graphs se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use WASAPI y Audio Graphs en lugar de Waveform Audio, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
Además de usar una función de devolución de llamada, puede sondear el miembro dwFlags de una estructura WAVEHDR para determinar cuándo un dispositivo de audio ha terminado con un bloque de datos. A veces es mejor sondear dwFlags que esperar a que otro mecanismo reciba mensajes de los controladores. Por ejemplo, después de llamar a la función waveOutReset para liberar bloques de datos pendientes, puede sondear inmediatamente para asegurarse de que los bloques de datos se han liberado antes de llamar a waveOutUnprepareHeader y liberar la memoria para el bloque de datos.
Puede usar la marca WHDR_DONE para probar el miembro dwFlags . En cuanto la marca de WHDR_DONE se establece en el miembro dwFlags de la estructura WAVEHDR , el controlador finaliza con el bloque de datos.