WavePci 微型端口驱动程序
重要 不再建议使用 WavePci,而是使用 WaverRT。
WavePci 微型端口驱动程序管理波渲染或波形捕获设备的硬件依赖功能,该设备具有散点/收集 DMA 硬件,可以向/从物理内存中的任何位置传输音频数据。 如果波形设备无法执行散点/收集传输或只能访问物理内存中的受限区域,则应改用 WaveCyclic 微型端口驱动程序 。
WavePci 微型端口驱动程序应实现两个接口:
微型端口接口 执行微型端口驱动程序初始化、通道枚举和流创建。
流接口 管理波流并公开微型端口驱动程序的大部分功能。
微型端口接口 IMiniportWavePci 继承 IMiniport 接口中的方法。 IMiniportWavePci 提供以下附加方法:
初始化微型端口对象。
创建新的流对象。
通知微型端口驱动程序服务请求。
流接口 IMiniportWavePciStream 从 IUnknown 接口继承方法。 IMiniportWavePciStream 提供以下附加方法:
IMiniportWavePciStream::GetAllocatorFraming
获取微型端口驱动程序为波流的首选分配器帧参数。
IMiniportWavePciStream::GetPosition
获取设备在波流中的当前位置。
IMiniportWavePciStream::MappingAvailable
指示端口驱动程序提供了新的映射。
IMiniportWavePciStream::NormalizePhysicalPosition
将物理缓冲区位置值转换为基于时间的值。
IMiniportWavePciStream::RevokeMappings
撤销以前颁发的映射。
IMiniportWavePciStream::Service
通知服务请求的流对象。
IMiniportWavePciStream::SetFormat
设置波流的数据格式。
IMiniportWavePciStream::SetState
设置波流的状态。