WavePci 埠驅動程式
重要 不再建議使用 WavePci,請改用 WaverRT。
WavePci 埠驅動程式會管理音訊裝置對實體記憶體中任何位置執行散佈/收集 DMA 傳輸的播放或錄製。 透過散佈/收集 DMA,裝置可以在由一系列對應組成的緩衝區中處理音訊資料。 每個對應都是實體連續記憶體的區塊,但連續對應不一定彼此連續。 WavePci 相容的裝置是音訊介面卡上的硬體功能。 一般而言,介面卡是主機板上整合式晶片組的一部分,或掛接在插入主機板上的 PCI 插槽的音訊卡上。 配接器驅動程式提供對應的 WavePci 迷你埠驅動程式 ,系結至 WavePci 埠驅動程式物件,以形成可擷取或轉譯波浪資料流程的 波浪篩選 。
WavePci 埠驅動程式會將 IPortWavePci 介面公開至迷你埠驅動程式。 IPortWavePci 會繼承基底介面 IPort中的方法。 此外,IPortWavePci 提供下列方法:
IPortWavePci::NewMasterDmaChannel
建立新的主要 DMA 通道物件。 IPortWavePci::Notify
通知埠驅動程式 DMA 控制器已進階至音訊資料流程中的新位置。 WavePci 埠驅動程式也會向每個迷你埠驅動程式的資料流程物件公開 IPortWavePciStream 介面。 IPortWavePciStream 會繼承基底介面 IUnknown中的方法。 IPortWavePciStream 提供下列其他方法:
IPortWavePciStream::GetMapping
從埠驅動程式取得下一個對應。 IPortWavePciStream::ReleaseMapping
釋放先前由 GetMapping 呼叫取得的對應。 IPortWavePciStream::TerminatePacket
即使只部分填入擷取資料,也會終止 I/O 封包。 I/O 封包是音訊緩衝區的一部分,其中包含與特定對應 IRP 相關聯的所有對應。
WavePci 埠和迷你埠物件會透過各自的 IPortWavePci 和 IMiniportWavePci 介面彼此通訊。 此外,WavePci 埠和迷你埠資料流程物件會透過各自的 IPortWavePciStream 和 IMiniportWavePciStream 介面彼此通訊。