使用事件回呼來處理驅動程式訊息
若要使用事件回呼,請使用 CreateEvent 函式來建立手動重設事件。 在對 waveOutOpen函式的呼叫中,指定fdwOpen參數的CALLBACK_EVENT。 在您呼叫 waveOutPrepareHeader 函 式之後,但在將音訊資料傳送至裝置之前,請呼叫 ResetEvent 函式,將事件放入非簽署狀態。 然後,在迴圈中檢查是否在WAVEHDR結構的dwFlags成員中設定WHDR_DONE旗標,呼叫WaitForSingleObject函式,並指定為事件控制碼和逾時值的參數。
因為事件回呼不會收到特定的關閉、完成或開啟通知,所以應用程式可能必須檢查在事件發生後正在等候的進程狀態。 在 WaitForSingleObject 傳回時,可能會完成一些工作。
相關主題