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