WaveCyclic Miniport 驅動程式
重要 不再建議使用 WavePci,請改用 WaverRT。
WaveCyclic 迷你埠驅動程式會管理波浪轉譯或波浪擷取裝置的硬體相依功能,該裝置會針對音訊資料使用迴圈緩衝區。 迴圈緩衝區通常是連續實體記憶體的單一區塊,而且可以位於驅動程式選擇的記憶體區域中。 具有下列任何限制的裝置應該提供 WaveCyclic 迷你埠驅動程式,而不是 WavePci 迷你埠驅動程式:
裝置缺少 DMA 硬體。
裝置的 DMA 硬體只能在佔用連續實體記憶體單一區塊的緩衝區中存取資料。
裝置的 DMA 硬體無法存取實體記憶體的所有區域中的資料。
WaveCyclic 迷你埠驅動程式應該實作兩個介面:
迷你埠介面 支援迷你埠驅動程式初始化和串流建立。
資料流程介面 會管理波流,並公開大部分迷你埠驅動程式的功能。
Miniport 介面 IMiniportWaveCyclic會繼承 IMiniport 介面中的方法。 IMiniportWaveCyclic 提供下列其他方法:
初始化迷你埠物件。
IMiniportWaveCyclic::NewStream
建立新的資料流程物件。
資料流程介面 IMiniportWaveCyclicStream繼承IUnknown介面中的方法。 IMiniportWaveCyclicStream 提供下列其他方法:
IMiniportWaveCyclicStream::GetPosition
取得裝置在波浪資料流程中的目前位置。
IMiniportWaveCyclicStream::NormalizePhysicalPosition
將實體緩衝區位置值轉換成以時間為基礎的值。
IMiniportWaveCyclicStream::SetFormat
設定波浪資料流程的資料格式。
IMiniportWaveCyclicStream::SetNotificationFreq
設定發生通知中斷的頻率。
IMiniportWaveCyclicStream::SetState
設定波浪資料流程的狀態。
IMiniportWaveCyclicStream::Silence
將無聲複製到緩衝區。