輪詢來管理數據區塊
[與此頁面相關聯的功能,波形音訊,是舊版功能。 WASAPI 和 Audio Graphs已取代它。 WASAPI 和 音訊圖形 已針對 Windows 10 和 Windows 11 優化。 Microsoft 強烈建議新程式代碼在可能的情況下使用 WASAPI 和 Audio Graphs,而非 波形音頻。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]
除了使用回調函數之外,您還可以輪詢 dwFlagsWAVEHDR 結構的成員,以判斷音訊裝置何時處理完數據區塊。 有時候,查詢 dwFlags 比等待其他機制從驅動程式接收訊息更好。 例如,在您呼叫 waveOutReset 函式以釋放暫止中的數據區塊後,可以立即輪詢以確認這些數據區塊已被釋放,然後才呼叫 waveOutUnprepareHeader 並釋放這些數據區塊的記憶體。
您可以使用 WHDR_DONE 旗標來測試 dwFlags 成員。 一旦在 dwFlags 成員中的 WHDR_DONE 旗標被設定,驅動程式就完成了對 WAVEHDR 結構的數據區塊處理。