共用方式為


WaveCyclic Miniport 驅動程式

重要 不再建議使用 WavePci,請改用 WaverRT。

WaveCyclic 迷你埠驅動程式會管理波浪轉譯或波浪擷取裝置的硬體相依功能,該裝置會針對音訊資料使用迴圈緩衝區。 迴圈緩衝區通常是連續實體記憶體的單一區塊,而且可以位於驅動程式選擇的記憶體區域中。 具有下列任何限制的裝置應該提供 WaveCyclic 迷你埠驅動程式,而不是 WavePci 迷你埠驅動程式

  • 裝置缺少 DMA 硬體。

  • 裝置的 DMA 硬體只能在佔用連續實體記憶體單一區塊的緩衝區中存取資料。

  • 裝置的 DMA 硬體無法存取實體記憶體的所有區域中的資料。

WaveCyclic 迷你埠驅動程式應該實作兩個介面:

  • 迷你埠介面 支援迷你埠驅動程式初始化和串流建立。

  • 資料流程介面 會管理波流,並公開大部分迷你埠驅動程式的功能。

Miniport 介面 IMiniportWaveCyclic會繼承 IMiniport 介面中的方法。 IMiniportWaveCyclic 提供下列其他方法:

IMiniportWaveCyclic::Init

初始化迷你埠物件。

IMiniportWaveCyclic::NewStream

建立新的資料流程物件。

資料流程介面 IMiniportWaveCyclicStream繼承IUnknown介面中的方法。 IMiniportWaveCyclicStream 提供下列其他方法:

IMiniportWaveCyclicStream::GetPosition

取得裝置在波浪資料流程中的目前位置。

IMiniportWaveCyclicStream::NormalizePhysicalPosition

將實體緩衝區位置值轉換成以時間為基礎的值。

IMiniportWaveCyclicStream::SetFormat

設定波浪資料流程的資料格式。

IMiniportWaveCyclicStream::SetNotificationFreq

設定發生通知中斷的頻率。

IMiniportWaveCyclicStream::SetState

設定波浪資料流程的狀態。

IMiniportWaveCyclicStream::Silence

將無聲複製到緩衝區。