WaveRT 微型端口驱动程序在 Windows Vista 及更高版本的 Windows作系统中受支持,它管理波渲染或波形捕获音频设备的硬件相关功能。 与 WaveRT 兼容的音频设备具有分散/聚集 DMA 硬件,可以在物理内存中的任意位置传输音频数据。
WaveRT 微型端口驱动程序必须实现两个接口:
IMiniportWaveRT。 此接口执行微型端口驱动程序初始化、通道枚举和流创建。
IMiniportWaveRTStream。 此接口管理波形流,并公开微型端口驱动程序的大部分功能。
有关如何设计与 WaveRT 端口驱动程序相补充的 WaveRT 微型端口驱动程序的信息,请参阅 “开发 WaveRT 微型端口驱动程序 ”主题。
IMiniportWaveRT
IMiniportWaveRT 接口提供以下方法:
初始化微型端口对象。
创建新的流对象。
IMiniportWaveRT::GetDeviceDescription
返回指向描述设备的 DEVICE_DESCRIPTION 结构的指针。
IMiniportWaveRTStream
IMiniportWaveRTStream 接口从 IUnknown 接口继承方法。 IMiniportWaveRTStream 提供以下其他方法:
IMiniportWaveRTStream::AllocateAudioBuffer 为音频数据分配循环缓冲区。
IMiniportWaveRTStream::FreeAudioBuffer
释放以前通过调用 IMiniportWaveRTStream::AllocateAudioBuffer 分配的音频缓冲区。
IMiniportWaveRTStream::GetClockRegister
检索端口驱动程序需要的信息以便将时钟寄存器公开给音频子系统及其客户端。
IMiniportWaveRTStream::GetHWLatency
检索音频硬件中流延迟源的相关信息。
IMiniportWaveRTStream::GetPosition
检索当前播放位置或记录位置,作为缓冲区开头的字节偏移量。
IMiniportWaveRTStream::GetPositionRegister
检索端口驱动程序必需的信息,以便向音频子系统及其客户端公开位置寄存器。
IMiniportWaveRTStream::SetFormat
设置波形流的数据格式。
IMiniportWaveRTStream::SetState
更改音频流的传输状态。